我的程序中有两个不同的函数,一个将输出写入txt文件(函数A),另一个读取它,并将其用作输入(函数B)。
功能A工作正常(尽管我总是愿意接受有关如何改进的建议)。 它看起来像这样:
def createFile():
fileName = raw_input("Filename: ")
fileNameExt = fileName + ".txt" #to make sure a .txt extension is used
line1 = "1.1.1"
line2 = int(input("Enter line 2: ")
line3 = int(input("Enter line 3: ")
file = (fileNameExt, "w+")
file.write("%s\n%s\n%s" % (line1, line2, line3))
file.close()
return
这似乎工作正常,将创建一个像
这样的文件1.1.1
123
456
现在,功能B应该使用该文件作为输入。到目前为止我已经走了多远:
def loadFile():
loadFileName = raw_input("Filename: ")
loadFile = open(loadFileName, "r")
line1 = loadFile.read(5)
这就是我被困住的地方,我知道如何使用前5个字符,但我也需要第2行和第3行作为变量。
答案 0 :(得分:3)
f = open('file.txt')
lines = f.readlines()
f.close()
lines
就是你想要的
其他选择:
f = open( "file.txt", "r" )
lines = []
for line in f:
lines.append(line)
f.close()
更多阅读:
https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files
答案 1 :(得分:1)
from string import ascii_uppercase
my_data = dict(zip(ascii_uppercase,open("some_file_to_read.txt"))
print my_data["A"]
这会将它们存储在以字母为键的字典中......如果你真的想把它塞进变量中(注意一般来说这是可怕的想法)你可以做
globals().update(my_data)
print A