如何选择和上传python文件

问题描述:

我正在编写一个程序,它会询问用户想要读取的文本文件,然后开始读取用户输入的任何文件名。这是我到目前为止:如何选择和上传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) 

前两行工作,但然后它说它无法找到我输入的文件读取。请帮忙!谢谢。

+0

解析FASTA文件;) 什么是你的错误,或者特定问题? –

+3

您不应该使用'raw_input'作为变量名称。另外,您不是在问您需要什么帮助,也不会提及您是否有任何错误/障碍。 – Harrison

+0

'IOError:[Errno 2]没有这样的文件或目录:'raw_input''应该已经告诉你问题是什么,你试图打开一个名为''raw_input''的文件而不是使用上面那行代码的变量。 –

关闭我的头顶,我认为f = open("raw_input", "r")需求是f=open(raw_input, "r"),因为你试图引用包含的变量raw_input字符串,而不是试图打开一个名为的raw_input文件。你也应该把变量的名字改为更易读的名字,因为raw_input()是一个在你的代码中使用的函数,也是一个变量,这使得它很难阅读。您的代码中是否还有其他特定的问题?

+0

感谢那是我的问题我有引号,它使我困扰 –

+0

有没有命名它raw_input真正的问题,因为函数是raw_input(),但当然是更好地创建命名空间变量像file_raw_input或任何其他未采取。 – erm3nda

+0

@Gia Consantina您能否请您将我的答案标记为已接受然后 –

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()