Python 将文本文件中的行读入变量
我的程序中有两个不同的函数,一个将输出写入txt文件(函数a),另一个读取它并将其用作输入(函数B) 函数A工作得很好(尽管我总是乐于接受关于如何改进的建议)。 看起来是这样的:Python 将文本文件中的行读入变量,python,file,lines,Python,File,Lines,我的程序中有两个不同的函数,一个将输出写入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" lin
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行作为变量
f = open('file.txt')
lines = f.readlines()
f.close()
行
是您想要的
其他选择:
f = open( "file.txt", "r" )
lines = []
for line in f:
lines.append(line)
f.close()
更多信息请阅读:
这将把它们存储在一本字典中,并以列特作为键。。。如果你真的想把它塞进变量中(注意,通常这是一个糟糕的想法),你可以这样做
globals().update(my_data)
print A
这件事的哪一部分你被卡住了?你的代码在哪里?它到底有什么问题?“变量”是个坏主意,我会读取文件并将每一行存储在字典
{'a':123,…}
中。。。你可能真的不想这么做。。。只要像@jornsharpe建议的那样,把它作为一个列表或一本字典就可以了。。。魔法变量通常是不受欢迎的…对不起,我希望我更新的问题更清楚@jonrsharpe一个库似乎确实是我想要的,但我不知道如何将文件中的数据放入库中。。。而且,正如我所知,为什么使用“变量”是个坏主意?这是个坏主意,因为当您可以有一个列表行并访问例如行[n]
时,为什么要用行1
,行2
,…,亚麻布
?这也使得对行中的行执行变得更容易:
,这对于单个名称来说将是一个巨大的痛苦。“图书馆”是什么意思?如果你指的是“字典”,那么@jornsharpe我指的是字典对不起,我再看一下文档
globals().update(my_data)
print A