如何在python中选择和上传文件



我正在编写一个程序,它询问用户想要读取什么文本文件,然后开始读取用户输入的任何文件名。以下是我目前所拥有的:

import sys
import os
import re
#CHOOSE FILE
print "Welcome to the Parsing Database"
raw_input=raw_input("enter file name to parse: ")
#ASSIGN HEADERS AND SEQUENCES
f=open("raw_input", "r")
header=[]
sequence=[]
string=""
for line in f:
    if ">" in line and string=="":
         header.append(line[:-2])
    elif ">" in line and string!="":
        sequence.append(string)
        header.append(line[:-2])
        string=""
    else:
        string=string+line[:-2]
sequence.append(string)

前两行有效,但它说找不到我输入要读取的文件。请帮忙!谢谢

在我的脑海中,我认为f = open("raw_input", "r")需要是f=open(raw_input, "r"),因为你试图引用变量raw_input中包含的字符串,而不是试图打开一个名为raw_input的文件。此外,您可能应该将变量的名称更改为更可读的名称,因为raw_input()是代码中使用的函数,也是一个变量,这使得它很难读取。您的代码中是否存在其他特定的问题?

f=open("raw_input", "r")

"raw_input"是一个纯字符串。你必须把它称为raw_input

此外,如果不将.read()open()方法一起使用,则不会有行,因此无法解析它们。从raw_input给出的文件中读取行可以这样做:

import sys
import os
import re
#CHOOSE FILE
print "Welcome to the Parsing Database"
raw_input_file=raw_input("enter file name to parse: ")
#ASSIGN HEADERS AND SEQUENCES
testfile = open(raw_input_file, "r")
secuence = []
for line in testfile.read().splitlines():
    secuence.append(line)
for i in secuence:
    print i
testfile.close()

相关内容

  • 没有找到相关文章

最新更新