Python readlines() 3.X 至 2.X
Python readlines() 3.X to 2.X
我有一个最初为 python 3.5+ 编写的脚本。我需要将其转换为 2.6.2。
在脚本中,我使用 readlines()
,我认为这两个版本之间的行为不同。
具体来说,我正在使用 readlines()
从由换行符分隔的 txt 文件中检索数据。
这是一个片段:
t=open(supportID+"stmp.txt","r")
timeIn=(t.readlines())
a=(str(timeIn))
supportID=(t.readlines())
b=(str(supportID))
branch=(t.readlines())
c=(str(branch))
clientID=(t.readlines())
d=(str(clientID))
problem=(t.readlines())
e=(str(problem))
solution=(t.readlines())
f=(str(solution))
timeOut=(t.readlines())
g=(str(timeOut))
在我的 3.x 脚本中,我在每个 readlines()
中都有一个“1”,它根据需要执行,但是对于 2.x 这不起作用。如上所示,我尝试输入值 1-7 和空白。
通过一些研究,我发现一些 2.x 用户使用 with open(filename)
这是首选方法还是有办法改变我的原始方法以使其工作?
编辑:
所以我打算使用这种格式
with open(supportID+"stmp.txt") as t:
for line in t:
print(line)
我插上它,它工作了,在我的 shell 中将每一行打印为一行。现在我想用它来将每一行分配给一个变量。
编辑 2:
这目前适用于我的环境,但不是此功能的最佳实践。读取每一行并将每一行分配给一个变量。
t=open(supportID+"stmp.txt","r")
lines = t.readlines()
t.close()
a=lines[0]
b=lines[1]
c=lines[2]
...
试试这个代码:(我假设它适用于 python 版本 >= 2.6)
with open('lines.txt','r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
要读取文件中的每一行并分配给一个变量我将此方法用于python 2.6.2
t=open(supportID+"stmp.txt","r")
lines = t.readlines()
t.close()
a=lines[0]
b=lines[1]
c=lines[2]
...
我有一个最初为 python 3.5+ 编写的脚本。我需要将其转换为 2.6.2。
在脚本中,我使用 readlines()
,我认为这两个版本之间的行为不同。
具体来说,我正在使用 readlines()
从由换行符分隔的 txt 文件中检索数据。
这是一个片段:
t=open(supportID+"stmp.txt","r")
timeIn=(t.readlines())
a=(str(timeIn))
supportID=(t.readlines())
b=(str(supportID))
branch=(t.readlines())
c=(str(branch))
clientID=(t.readlines())
d=(str(clientID))
problem=(t.readlines())
e=(str(problem))
solution=(t.readlines())
f=(str(solution))
timeOut=(t.readlines())
g=(str(timeOut))
在我的 3.x 脚本中,我在每个 readlines()
中都有一个“1”,它根据需要执行,但是对于 2.x 这不起作用。如上所示,我尝试输入值 1-7 和空白。
通过一些研究,我发现一些 2.x 用户使用 with open(filename)
这是首选方法还是有办法改变我的原始方法以使其工作?
编辑: 所以我打算使用这种格式
with open(supportID+"stmp.txt") as t:
for line in t:
print(line)
我插上它,它工作了,在我的 shell 中将每一行打印为一行。现在我想用它来将每一行分配给一个变量。
编辑 2: 这目前适用于我的环境,但不是此功能的最佳实践。读取每一行并将每一行分配给一个变量。
t=open(supportID+"stmp.txt","r")
lines = t.readlines()
t.close()
a=lines[0]
b=lines[1]
c=lines[2]
...
试试这个代码:(我假设它适用于 python 版本 >= 2.6)
with open('lines.txt','r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
要读取文件中的每一行并分配给一个变量我将此方法用于python 2.6.2
t=open(supportID+"stmp.txt","r")
lines = t.readlines()
t.close()
a=lines[0]
b=lines[1]
c=lines[2]
...