无法从文件中拆分字符串,_iotextwrapper
Can't split string from file , _iotextwrapper
我正在尝试创建一个程序。它将彩色图像作为 .txt 文件,在列表 'i' 中。现在虽然我很清楚该怎么做,但我似乎在第一个障碍就倒下了。
outfile = open("output.txt","w")
with open("ColourImage.txt") as infile:
infile.readline() #to prevent first part from taking the strings
infile.strip()
line = float(infile)
while len(line) != 0:
f.readline()
print(line)
当我尝试执行此操作时,出现错误,'_io.TextIOWrapper' object has no attribute 'strip'
我不知道为什么。当我尝试删除 infile.strip()
时,我得到 TypeError: float() argument must be a string or a number, not '_io.TextIOWrapper'
.
有问题的文件大约有 20k 行,每行包含 5 个数字,用逗号分隔,例如:
Picture
61, 149, 207, 152, 59
120, 161, 48, 30, 44
77, 132, 16, 13, 30
17, 84, 124, 96, 46
115, 169, 37, 20, 38
70, 33, 88, 62, 37
122, 110, 80, 48, 63
63, 137, 31, 28, 47
我要操作的文件的第一行是一个字符串。之后剩下的是5行数字
假设您的文件如下所示:
Picture
61, 149, 207, 152, 59
并执行以下代码:
with open("ColourImage.txt") as infile:
infile.readline()
line = infile.readline().strip()
print(line)
list_of_strings = line.split(", ")
print(list_of_strings)
list_of_floats = [float(a) for a in list_of_strings]
print(list_of_floats)
输出为:
61, 149, 207, 152, 59
['61', '149', '207', '152', '59']
[61.0, 149.0, 207.0, 152.0, 59.0]
尝试:
line = float(infile.readline().strip())
您的代码没有保存内联发生的事情。只是操纵它而不保存结果。当然,如果你在像 "45, 96, 50"
这样的字符串上调用 float()
而没有在 ,
.
上拆分,你仍然 运行 会遇到问题
我正在尝试创建一个程序。它将彩色图像作为 .txt 文件,在列表 'i' 中。现在虽然我很清楚该怎么做,但我似乎在第一个障碍就倒下了。
outfile = open("output.txt","w")
with open("ColourImage.txt") as infile:
infile.readline() #to prevent first part from taking the strings
infile.strip()
line = float(infile)
while len(line) != 0:
f.readline()
print(line)
当我尝试执行此操作时,出现错误,'_io.TextIOWrapper' object has no attribute 'strip'
我不知道为什么。当我尝试删除 infile.strip()
时,我得到 TypeError: float() argument must be a string or a number, not '_io.TextIOWrapper'
.
有问题的文件大约有 20k 行,每行包含 5 个数字,用逗号分隔,例如:
Picture
61, 149, 207, 152, 59
120, 161, 48, 30, 44
77, 132, 16, 13, 30
17, 84, 124, 96, 46
115, 169, 37, 20, 38
70, 33, 88, 62, 37
122, 110, 80, 48, 63
63, 137, 31, 28, 47
我要操作的文件的第一行是一个字符串。之后剩下的是5行数字
假设您的文件如下所示:
Picture
61, 149, 207, 152, 59
并执行以下代码:
with open("ColourImage.txt") as infile:
infile.readline()
line = infile.readline().strip()
print(line)
list_of_strings = line.split(", ")
print(list_of_strings)
list_of_floats = [float(a) for a in list_of_strings]
print(list_of_floats)
输出为:
61, 149, 207, 152, 59
['61', '149', '207', '152', '59']
[61.0, 149.0, 207.0, 152.0, 59.0]
尝试:
line = float(infile.readline().strip())
您的代码没有保存内联发生的事情。只是操纵它而不保存结果。当然,如果你在像 "45, 96, 50"
这样的字符串上调用 float()
而没有在 ,
.