我有一个愚蠢的问题,我有一个文本文件,其用户输入结构如下:
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
由于
答案 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', ' ')