读取文本文件的每一行,然后在python

时间:2018-03-27 10:27:42

标签: python text

我有一个愚蠢的问题,我有一个文本文件,其用户输入结构如下:

x = variable1
y = variable2

等等。我想抓住变量,要做到这一点,我只是导入文本文件,然后拿出UserInputs [2],UserInputs [5]等。我花了很多时间阅读如何做到这一点和我得到的最接近的是csv包,但这导致我打印时只得到'='符号,所以我回到刚使用open命令和readlines,然后尝试迭代这些行并按''拆分。

到目前为止,我有以下代码:

Text_File_Import = open('USER_INPUTS.txt', 'r')
Text_lines = Text_File_Import.readlines()

for line in Text_lines:
    User_Inputs = line.split(' ')

print User_Inputs

然而,这只输出我的文本文件中的第一行(即我得到'x','=','variable1'但它永远不会进入下一行。我将如何通过导入的文本文件迭代此代码?< / p>

我暂时提出了一点,并将文本文件重新排列为variable1 = x,依此类推。这样我仍然可以导入变量,如果我只是用下面的代码导入它,则x后面有/ n:

def ReadTextFile(textfilename):

    Text_File_Import = open(textfilename, 'r')
    Text_lines = Text_File_Import.readlines()

    User_Inputs = Text_lines[1].split(' ')
    User_Inputs_clength = User_Inputs[0]

    #print User_Inputs[2] + User_Inputs_clength

    User_Inputs = Text_lines[2].split(' ')
    User_Inputs_cradius = User_Inputs[0]

    #print User_Inputs[2], ' ', User_Inputs_cradius

    return User_Inputs_clength, User_Inputs_cradius

由于

2 个答案:

答案 0 :(得分:0)

你有很多缩进问题。要读取行并按空格分割,下面的代码段应该会有所帮助。

<强>演示

with open('USER_INPUTS.txt', 'r') as infile:
    data = infile.readlines()
    for i in data:
        print(i.split())

答案 1 :(得分:0)

我不太明白这个问题。如果要存储变量: 只要文本文件中的变量是有效的python语法(例如括号括起来的字符串),这是一个简单但稍微不安全的方法:

file=open('file.txt')
exec(file.read())

它将存储所有变量及其名称。

如果要在空格之间拆分文本文件:

file=open('file.txt')
output=file.read().split(' ')

如果你想用空格替换换行符:

file=open('file.txt')
output=file.read().replace('\n', ' ')