如何在python中选择和上载文件
我正在写一个程序,它会问你用户想要读什么文本文件,然后开始读用户输入的任何文件名。以下是我到目前为止的情况:如何在python中选择和上载文件,python,python-2.7,file,import,text-files,Python,Python 2.7,File,Import,Text Files,我正在写一个程序,它会问你用户想要读什么文本文件,然后开始读用户输入的任何文件名。以下是我到目前为止的情况: 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") head
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\u input”,“r”)
需要f=open(raw\u input,“r”)
,因为您试图引用变量raw\u input
中包含的字符串,而不是试图打开名为raw\u input的文件。此外,您可能还应该将变量的名称更改为更可读的名称,因为raw\u input()
是代码中使用的函数,也是一个变量,这使得它很难读取。您的代码还有其他特定问题吗?f=open(“原始输入”,“r”)
“原始输入”是一个普通字符串。您必须将其引用为raw\u input
另外,如果不使用.read()
和open()
方法,则不会有任何行,因此无法解析它们。从raw\u 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()
随时可能解析FASTA文件;)您的错误或具体问题是什么?您不应该使用
raw\u input
作为变量名。此外,您没有询问您具体需要什么帮助,也没有提及您是否有任何错误/障碍。IOError:[Errno 2]没有这样的文件或目录:“raw\u input”
应该已经告诉您问题所在,您正在尝试打开一个名为“raw\u input”的文件不要使用上面一行的变量。谢谢,这是我的问题,我有引号,它把我弄糊涂了。命名它为raw\u input没有什么问题,因为函数是raw\u input(),当然,最好创建名称空间的变量,如file_raw_input或任何其他未采用的变量。@erm3nda该位更像是上下文建议,因为它看起来OP在区分不同的语法位时遇到了困难(有一种更好的说法)如果您编辑他们的脚本,然后修复原始输入名称仍然不起作用。他需要的不仅仅是一个建议。他们说这解决了他们的问题,所以我认为解决方案是好的。