繁体   English   中英

将文本文件中的行读入变量

[英]Read lines from a text file into variables

我的程序中有两个不同的函数,一个函数将输出写入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行作为变量。

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

from string import ascii_uppercase
my_data = dict(zip(ascii_uppercase,open("some_file_to_read.txt"))
print my_data["A"]

这会将它们存储在以letters作为键的字典中...如果您真的想将其塞入变量中(请注意,通常这是一个可怕的想法),您可以执行

globals().update(my_data)
print A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM