美文网首页Python学习
【Python生信编程笔记】读取文件

【Python生信编程笔记】读取文件

作者: 生信开荒牛 | 来源:发表于2023-06-11 11:17 被阅读0次

在Python中,读取文件分为三个步骤:

一、打开文件:open

file_handle=open('readme.txt','r')
file_handle
<_io.TextIOWrapper name='readme.txt' mode='r' encoding='cp936'>

文件句柄不是文件,而是对文件的说明。

二、读取文件:有几个方法来读取文件。

  • read(n): 从文件中读取n个字节。如果没有参数,它将读取整个文件。
  • readline(): 返回文件中只有一行的字符串,包括' \n '作为行结束标记。当它到达文件末尾时,它返回一个空字符串。
  • readlines(): 返回一个列表,其中每个元素都是一个字符串,其中包含来自文件的一行。

使用read()来读取seqA.fas

file_handle=open('./samples/seqA.fas','r')
file_handle.read()
'>O00626|HUMAN Small inducible cytokine A22.\nMARLQTALLVVLVLLAVALQATEAGPYGANMEDSVCCRDYVRYRLPLRVVKHFYWTSDSCPRPGVVLLTFRDKEICADPRVPWVKMILNKLSQ\n'

三、关闭文件

  • 一旦我们完成了文件,我们使用filehandle.close()关闭它。
  • 如果不关闭文件,当程序执行完成后python将会关闭它。
  • 不及时关闭文件会造成资源浪费。
  • 使用with可以确保文件被关闭。

不使用with

file_handle=open('readme.txt','r')
file_handle.read()
file_handle.close()

使用with

with open('readme.txt','r') as file_handle:
    file_handle.read()

四、实例

读取FASTA文件

with open('./samples/seqA.fas','r') as fh:
    print(fh.read())
>O00626|HUMAN Small inducible cytokine A22.
MARLQTALLVVLVLLAVALQATEAGPYGANMEDSVCCRDYVRYRLPLRVVKHFYWTSDSCPRPGVVLLTFRDKEICADPRVPWVKMILNKLSQ
  1. 将FASTA文件的名字和序列分开
with open('./samples/seqA.fas','r') as fh:
    my_file=fh.read()
name=my_file.split('\n')[0][1:]  #去掉>
sequece=''.join(my_file.split('\n')[1:]) 
print('The name is : {0}'.format(name))
print('The sequece is : {0}'.format(sequece))
The name is : O00626|HUMAN Small inducible cytokine A22.
The sequece is : MARLQTALLVVLVLLAVALQATEAGPYGANMEDSVCCRDYVRYRLPLRVVKHFYWTSDSCPRPGVVLLTFRDKEICADPRVPWVKMILNKLSQ
  1. 使用for进行遍历:
sequce=''
with open('./samples/seqA.fas','r') as fh:
    name=fh.readline()[1:-1]
    for line in fh:
        sequce+=line.replace('\n','')
print('The name is : {0}'.format(name))
print('The sequece is : {0}'.format(sequce))
The name is : O00626|HUMAN Small inducible cytokine A22.
The sequece is : MARLQTALLVVLVLLAVALQATEAGPYGANMEDSVCCRDYVRYRLPLRVVKHFYWTSDSCPRPGVVLLTFRDKEICADPRVPWVKMILNKLSQ
  1. 计算净电荷
sequence=''
charge=-0.002
aa_charge = {'C':-.045, 'D':-.999, 'E':-.998, 'H':.091,
'K':1, 'R':1, 'Y':-.001}
with open('./samples/prot.fas') as fh:
    #print(fh.read())
    fh.readline()
    for line in fh:
        #print(line[:-1])
        sequence+=line[:-1].upper()  #去掉\n
for aa in sequence:
    charge+=aa_charge.get(aa,0)
print(charge)
3.046999999999999

相关文章

  • python 读取大文件,避免内存溢出

    ####python读取大文件 最近在学习python的过程中接触到了python对文件的读取。python读取文...

  • 第10章 文件和异常

    参考书籍:《Python编程 从入门到实践》 1. 从文件中读取数据 1.1 一次性读取文件全部内容 无论以何种方...

  • Python编程字符串的分割是怎样的呢?

    今天小编要跟大家分享的文章是怎样用Python编程读取文件?这节课我们主要学习读文件,怎样利用Python语言,从...

  • Python 读取并替换整行文件

    Python 读取并替换整行文件 1、python 读取文件 f = open(input_file_path...

  • 2021-03-06生信技能树-生信入门D5

    生信技能树2021生信入门线上课笔记,需要结合课程讲解服用 1.表格文件读取到R语言是数据框,对数据框进行修改不会...

  • Python ☞ day 10

    Python学习笔记之 自动化办公与鼠标键盘模拟 读写csv文件 读csv文件 写csv文件 读取PDF文件 读...

  • 编程实战综合

    生信编程很简单[1] 编程语言系统入门 生信分析人员如何系统入门python? 生信分析人员如何系统入门perl?...

  • 使用Pandas读取csv文件

    python读取csv文件简单例子: python读取csv文件时,数据被保存到dataframe中,此时,数据会...

  • Python(文件处理)(2020-09-16)

    小言 天气:晴转阴 今天就看了点文件的读取 知识点 1、读取文件 1)Python读取文件的简单说明 2)读取文件...

  • python3 基于pandas读写Excel

    基于pandas读取execl读取文件类似 保存json文件: 具体文件 其他方式,参考Python-Excel ...

网友评论

    本文标题:【Python生信编程笔记】读取文件

    本文链接:https://www.haomeiwen.com/subject/jwbxydtx.html