Skip to content

Python 入门介绍:从第一行代码到云服务器数据分析

Python 入门学习路线图

Python 是一门适合新手入门、也适合科研和工程生产的编程语言。它语法清楚,生态丰富,既能写几十行的小脚本,也能完成数据分析、AI 调用、网站开发、自动化运维和生信流程管理。

对于云服务器用户来说,学 Python 的目标不一定是马上成为程序员,而是先让自己能够更轻松地处理文件、整理表格、批量运行任务、画图和复现分析流程。

Python 适合做什么

Python 的优势是“上手快、工具多、可读性强”。常见使用场景包括:

  • 批量整理文件名、目录和结果文件
  • 读取 CSV、Excel、TXT 等表格数据
  • 做基础统计、筛选、分组和可视化
  • 编写生信分析流程中的辅助脚本
  • 调用 API、下载数据、整理文献和报告
  • 配合 Jupyter Notebook 做交互式探索
  • 在云服务器上运行长期任务并保存日志

一句话概括:凡是你不想手动重复做很多遍的电脑操作,都可以先想想能不能交给 Python。

为什么云服务器用户更应该学 Python

云服务器的优势是算力、内存、网络和长期运行能力更强,而 Python 刚好可以把这些能力组织起来。

Python 在云服务器上的工作流程

在实际使用中,常见流程是:

  1. 本地电脑通过 SSH、VSCode、Zed 或 VNC 连接云服务器
  2. 在服务器中进入自己的项目目录
  3. 激活 conda、uv 或系统 Python 环境
  4. 编写并运行 Python 脚本
  5. 输出表格、图片、日志和报告文件
  6. 用 FileZilla、网盘或云存储把结果下载到本地

如果任务运行时间比较长,建议配合 tmuxscreennohup,避免本地网络断开导致任务中断。

第一步:确认 Python 是否可用

登录服务器后,先查看 Python 版本:

bash
python --version

如果系统默认命令不是 python,可以试试:

bash
python3 --version

如果服务器已经配置了 conda,可以先查看环境:

bash
conda env list

再激活需要的环境:

bash
conda activate 环境名

如果使用 uv 管理 Python 项目,可以在项目目录中运行:

bash
uv run python --version

第二步:写出第一段 Python 代码

新建文件 hello.py

python
print("Hello, Python!")
print("我正在云服务器上运行 Python 脚本。")

运行它:

bash
python hello.py

如果终端输出了两行文字,就说明最基本的脚本运行流程已经打通。

第三步:理解变量和常见数据类型

变量可以理解为给数据起名字:

python
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
  • 布尔值:TrueFalse
  • 列表:["A", "B", "C"]
  • 字典:{"sample": "S1", "group": "control"}

列表适合保存一组数据:

python
samples = ["S1", "S2", "S3"]

for sample in samples:
    print(sample)

字典适合保存带标签的信息:

python
sample_info = {
    "sample": "S1",
    "group": "control",
    "reads": 23800000
}

print(sample_info["sample"])
print(sample_info["reads"])

第四步:用循环批量处理任务

Python 最实用的能力之一,就是让重复任务自动执行。

比如批量生成样本文件名:

python
samples = ["S1", "S2", "S3", "S4"]

for sample in samples:
    fastq_name = sample + ".fastq.gz"
    print(fastq_name)

输出结果:

text
S1.fastq.gz
S2.fastq.gz
S3.fastq.gz
S4.fastq.gz

以后遇到几十个、几百个样本时,循环会比手动复制粘贴可靠得多。

第五步:把常用逻辑写成函数

函数可以把一段常用逻辑封装起来,方便重复调用:

python
def make_fastq_name(sample_id):
    return sample_id + ".fastq.gz"

print(make_fastq_name("S1"))
print(make_fastq_name("S2"))

当脚本变长后,函数能让代码更清楚,也更容易修改。

第六步:读取和处理表格

做科研和数据分析时,最常见的输入就是表格。Python 里通常用 pandas 处理表格数据。

安装 pandas:

bash
pip install pandas

读取 CSV 文件:

python
import pandas as pd

df = pd.read_csv("samples.csv")

print(df.head())
print(df.shape)

假设 samples.csv 内容如下:

csv
sample,group,reads
S1,control,23800000
S2,control,25100000
S3,treatment,31200000
S4,treatment,29800000

可以按分组统计平均 reads 数:

python
summary = df.groupby("group")["reads"].mean()
print(summary)

Python 数据分析四步法

第七步:画一张简单图

Python 画图常用 matplotlib。先安装:

bash
pip install matplotlib

示例代码:

python
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

bash
tmux new -s python_task
python analysis.py > analysis.log 2>&1

也可以用 nohup

bash
nohup python analysis.py > analysis.log 2>&1 &

查看日志:

bash
tail -f analysis.log

这样即使本地电脑断网,任务也更不容易受到影响。

推荐练习

刚开始学习时,不要只看教程,最好每天写一个很小的脚本:

  1. 打印自己的项目名称和日期
  2. 批量生成 20 个样本文件名
  3. 读取一个 CSV 表格并查看前 5 行
  4. 按分组统计平均值
  5. 把统计结果保存成新 CSV
  6. 用 matplotlib 画一张柱状图
  7. 把长任务放进 tmux 中运行

这些练习看起来简单,但它们正好覆盖了真实科研工作里最常用的能力。

常见问题

1. 运行脚本提示 command not found

先检查 Python 是否安装,以及当前环境是否激活:

bash
which python
python --version

如果使用 conda,需要先执行:

bash
conda activate 环境名

2. 安装包很慢怎么办

可以优先使用服务器中已经配置好的 conda 环境。如果确实需要安装新包,建议在自己的环境中安装,不要随意改系统环境。

3. 脚本找不到文件

多数情况是当前目录不对。先看自己在哪里:

bash
pwd
ls

运行脚本前,建议先 cd 到项目目录。

4. Python 和 R、Shell 是什么关系

它们不是互相替代的关系,而是可以配合使用:

  • Shell 适合调度命令和管理文件
  • Python 适合写自动化脚本、处理数据和调用工具
  • R 适合统计分析和部分生信可视化

真正做项目时,经常是 Shell、Python、R 一起出场。

小结

Python 入门的关键不是背语法,而是尽快把它用到自己的真实任务中。先从能运行脚本开始,再学会处理文件和表格,最后把数据分析、画图和服务器长任务串起来。

当你能独立写出一个“读取数据、清洗数据、生成图表、保存结果”的小脚本时,Python 就已经开始真正帮你节省时间了。