Python 入门介绍:从第一行代码到云服务器数据分析
Python 是一门适合新手入门、也适合科研和工程生产的编程语言。它语法清楚,生态丰富,既能写几十行的小脚本,也能完成数据分析、AI 调用、网站开发、自动化运维和生信流程管理。
对于云服务器用户来说,学 Python 的目标不一定是马上成为程序员,而是先让自己能够更轻松地处理文件、整理表格、批量运行任务、画图和复现分析流程。
Python 适合做什么
Python 的优势是“上手快、工具多、可读性强”。常见使用场景包括:
- 批量整理文件名、目录和结果文件
- 读取 CSV、Excel、TXT 等表格数据
- 做基础统计、筛选、分组和可视化
- 编写生信分析流程中的辅助脚本
- 调用 API、下载数据、整理文献和报告
- 配合 Jupyter Notebook 做交互式探索
- 在云服务器上运行长期任务并保存日志
一句话概括:凡是你不想手动重复做很多遍的电脑操作,都可以先想想能不能交给 Python。
为什么云服务器用户更应该学 Python
云服务器的优势是算力、内存、网络和长期运行能力更强,而 Python 刚好可以把这些能力组织起来。
在实际使用中,常见流程是:
- 本地电脑通过 SSH、VSCode、Zed 或 VNC 连接云服务器
- 在服务器中进入自己的项目目录
- 激活 conda、uv 或系统 Python 环境
- 编写并运行 Python 脚本
- 输出表格、图片、日志和报告文件
- 用 FileZilla、网盘或云存储把结果下载到本地
如果任务运行时间比较长,建议配合 tmux、screen 或 nohup,避免本地网络断开导致任务中断。
第一步:确认 Python 是否可用
登录服务器后,先查看 Python 版本:
python --version如果系统默认命令不是 python,可以试试:
python3 --version如果服务器已经配置了 conda,可以先查看环境:
conda env list再激活需要的环境:
conda activate 环境名如果使用 uv 管理 Python 项目,可以在项目目录中运行:
uv run python --version第二步:写出第一段 Python 代码
新建文件 hello.py:
print("Hello, Python!")
print("我正在云服务器上运行 Python 脚本。")运行它:
python hello.py如果终端输出了两行文字,就说明最基本的脚本运行流程已经打通。
第三步:理解变量和常见数据类型
变量可以理解为给数据起名字:
project_name = "RNA-seq-demo"
sample_count = 12
qc_passed = True
print(project_name)
print(sample_count)
print(qc_passed)Python 中最常见的数据类型包括:
- 字符串:
"sample01" - 整数:
100 - 小数:
3.14 - 布尔值:
True、False - 列表:
["A", "B", "C"] - 字典:
{"sample": "S1", "group": "control"}
列表适合保存一组数据:
samples = ["S1", "S2", "S3"]
for sample in samples:
print(sample)字典适合保存带标签的信息:
sample_info = {
"sample": "S1",
"group": "control",
"reads": 23800000
}
print(sample_info["sample"])
print(sample_info["reads"])第四步:用循环批量处理任务
Python 最实用的能力之一,就是让重复任务自动执行。
比如批量生成样本文件名:
samples = ["S1", "S2", "S3", "S4"]
for sample in samples:
fastq_name = sample + ".fastq.gz"
print(fastq_name)输出结果:
S1.fastq.gz
S2.fastq.gz
S3.fastq.gz
S4.fastq.gz以后遇到几十个、几百个样本时,循环会比手动复制粘贴可靠得多。
第五步:把常用逻辑写成函数
函数可以把一段常用逻辑封装起来,方便重复调用:
def make_fastq_name(sample_id):
return sample_id + ".fastq.gz"
print(make_fastq_name("S1"))
print(make_fastq_name("S2"))当脚本变长后,函数能让代码更清楚,也更容易修改。
第六步:读取和处理表格
做科研和数据分析时,最常见的输入就是表格。Python 里通常用 pandas 处理表格数据。
安装 pandas:
pip install pandas读取 CSV 文件:
import pandas as pd
df = pd.read_csv("samples.csv")
print(df.head())
print(df.shape)假设 samples.csv 内容如下:
sample,group,reads
S1,control,23800000
S2,control,25100000
S3,treatment,31200000
S4,treatment,29800000可以按分组统计平均 reads 数:
summary = df.groupby("group")["reads"].mean()
print(summary)第七步:画一张简单图
Python 画图常用 matplotlib。先安装:
pip install matplotlib示例代码:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("samples.csv")
plt.figure(figsize=(6, 4))
plt.bar(df["sample"], df["reads"])
plt.xlabel("Sample")
plt.ylabel("Reads")
plt.title("Sequencing Reads by Sample")
plt.tight_layout()
plt.savefig("reads_barplot.png", dpi=150)运行后会生成 reads_barplot.png。这类图可以直接放进报告、Markdown 笔记或论文草稿中。
第八步:在服务器上运行较长任务
如果脚本运行时间较长,不建议只在普通 SSH 窗口里直接跑。可以使用 tmux:
tmux new -s python_task
python analysis.py > analysis.log 2>&1也可以用 nohup:
nohup python analysis.py > analysis.log 2>&1 &查看日志:
tail -f analysis.log这样即使本地电脑断网,任务也更不容易受到影响。
推荐练习
刚开始学习时,不要只看教程,最好每天写一个很小的脚本:
- 打印自己的项目名称和日期
- 批量生成 20 个样本文件名
- 读取一个 CSV 表格并查看前 5 行
- 按分组统计平均值
- 把统计结果保存成新 CSV
- 用 matplotlib 画一张柱状图
- 把长任务放进
tmux中运行
这些练习看起来简单,但它们正好覆盖了真实科研工作里最常用的能力。
常见问题
1. 运行脚本提示 command not found
先检查 Python 是否安装,以及当前环境是否激活:
which python
python --version如果使用 conda,需要先执行:
conda activate 环境名2. 安装包很慢怎么办
可以优先使用服务器中已经配置好的 conda 环境。如果确实需要安装新包,建议在自己的环境中安装,不要随意改系统环境。
3. 脚本找不到文件
多数情况是当前目录不对。先看自己在哪里:
pwd
ls运行脚本前,建议先 cd 到项目目录。
4. Python 和 R、Shell 是什么关系
它们不是互相替代的关系,而是可以配合使用:
- Shell 适合调度命令和管理文件
- Python 适合写自动化脚本、处理数据和调用工具
- R 适合统计分析和部分生信可视化
真正做项目时,经常是 Shell、Python、R 一起出场。
小结
Python 入门的关键不是背语法,而是尽快把它用到自己的真实任务中。先从能运行脚本开始,再学会处理文件和表格,最后把数据分析、画图和服务器长任务串起来。
当你能独立写出一个“读取数据、清洗数据、生成图表、保存结果”的小脚本时,Python 就已经开始真正帮你节省时间了。