datafile = open("temp.txt", "r")
record = datafile.readline()
while record != '':
d1 = datafile.strip("\n").split(",")
print d1[0],float (d1[1])
record = datafile.readline()
datafile.close()
临时文件包含
a,12.7
b,13.7
c,18.12
我无法获得输出。请帮忙。
答案 0 :(得分:4)
正确的代码应该是:
with open('temp.txt') as f:
for line in f:
after_split = line.strip("\n").split(",")
print after_split[0], float(after_split[1])
你的代码中没有得到输出的主要原因是数据文件没有strip()方法,我很惊讶你没有得到异常。
我强烈建议您阅读Python教程 - 看起来您正试图用另一种语言编写Python,而不 A Good Thing
答案 1 :(得分:2)
您想要在行上调用strip和split,而不是文件。
替换
d1 = datafile.strip("\n").split(",")
使用
d1 = record.strip("\n").split(",")
答案 2 :(得分:1)
您使用文件处理程序操作,但应该在线上工作
像这样 d1 = record.strip(“\ n”)。split(“,”)
datafile = open("temp.txt", "r")
record = datafile.readline()
while record != '':
d1 = record.strip("\n").split(",")
print d1[0],float (d1[1])
record = datafile.readline()
datafile.close()
答案 3 :(得分:0)
也许以下内容对您更有效(评论作为解释):
# open file this way so that it automatically closes upon any errors
with open("temp.txt", "r") as f:
data = f.readlines()
for line in data:
# only process non-empty lines
if line.strip():
d1 = line.strip("\n").split(",")
print d1[0], float(d1[1])