文件路径
那我自己下载的Python来做演示了
#windows
my_py = 'C:/Users/ASUS/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Python 3.10/python.exe'
C为顶级目录,在windows里面直接粘贴过来是右斜杠但是我们一般linux里面都是以左斜杠分割,右斜杠一般表示转译,所以需要转换。
绝对路径与相对路径
一般linux里面我们敲代码pwd
出来的就是我们的工作目录,在工作目录里面衍生的其它文件夹,我们可以使用相对路径打开,开头就是其它文件,绝对路劲就是从根目录开始,包含所有的文件夹,比如在我们电脑文件夹全部粘贴过来的就是绝对路径
字符串解析路径
s0 = '基因课Python学习/Python20201122/data/fasta_example_data/small_ls_orchid.fasta'
info = s0.split('/') #切割
filename = info.pop() #挑出最后一个元素
filedir = '/'.jion(info) #读出文件夹
print('文件名:',filename)
print('文件名:',filedir)
pathlib 解析路径
以前都是使用的OS来解析路径,但是现在pathlib要更强一些。
#从pathlib 中导入 Path
from pathlib import Path
Path.home() #打印家目录
Path.cwd() #打印当前目录
# 将字符串转换为 Path
p0 =Path(re)
# 转为绝对路径
print('绝对路径:’,p0.absolute())
print('文件夹路径:’,p0.parent)
print('文件名(含后缀):’,p0.name)
print('文件名(不含后缀):’,p0.stem)
print('后缀:', p0.suffix)
模块与包的逻辑
安装与卸载模块,找到你的Python路径里面的pip,cd切换目录到pip目录下,使用 pip install biopython
下载 biopython模块,同样卸载pip uninstall biopython
安装路径
默认的安装路径,可以使用sys模块里面的sys.path查看。导入模块时,会按照顺序依次搜索。所以如果在不同路径下安装了同一个模块的不同版本,排在前面的模块会被优先使用。
import sys
print (sys.path)
打印下载路径,存在先后顺序。
导入模块
1.导入模块
import argparse
导入argparse
模块,相当于执行了模块中的所有代码。
2.导入包
import pandas as pd
导入 pandas
包并命名为pd,会运行pandas/__init__.py
,但不会导入包中的任何模块,不过pandas/__init__.py
程序中通常有导入操作。
导入Bio 包下的 SeqIO 子包
from Bio import SeqIO
3.导入包里的类、方法、变量
导入 Bio.Seq 模块中的Seq 类
from Bio.Seq import Seq
导入 Bio.SeqRecord 中的 SeqRecord 类
from Bio.SeqRecord import SeqRecord
命令行参数
import sys
from Bio import SeqIO
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
import re
fn = 'Pythontestdata/TAIR10/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa'
seq_index = SeqIO.index(fn,'fasta')
chr_len = {k:len(v.seq) for k,v in seq_index.items()}
代码中fn = ‘路径’ ,路径已经被写死,要想写成程序就需要写外部参数如下
test.py
import sys
a=float(sys.argv[1])
b=float(sys.argv[2])
print(a+b)
当我们运行test.py时,如[‘test.py’,‘1’,‘2’],运行下来就会得三,相当于一个加法计算小程序。默认把输入的参数调到脚本外部输入,所以就免得使用者,进脚本更改fn = ‘使用者需要输入的数据文件’。这样会友好很多。
小结
今天就到这了,明天接着,最近睡眠有点不足,还是得好好休息,加油打工人,哈哈哈哈哈哈哈哈哈哈哈!