我有以下代码加入该文件,并尝试在将结果写入最终的.txt文件之前按升序对该文件进行排序。但它显示字符串对象没有属性
temp_list = ''
with open('temp.txt') as f:
out = [x for x in f.read().split("\n") if x.strip() != ""]
for line1, line2 in list(zip(out, out[1:]))[::2]:
line1 = line1 + ';'
line2 = line2.split(' ')
line = ''
for x in range(1,len(line2)):
line = line + line2[x] + ' '
line = line[:-1] + '.'
temp_list += " ".join([line1, line]) + '\n'
temp_list.sort()
with open('new.txt' , 'w') as file:
file.write(temp_list)
temp.txt
line1 Ron likes apple; mango
line5 Ana likes lyche; apple
line21 Tyson likes football; VolleyBall
line6 Mike likes singing; dancing
line245 Stephen likes playing; sleeping
line95 Rose likes dancing; singing
这些行的顺序应该是
line1
line5
line6
line21
line95
line245
但不像
line1
line21
line245
line5
line6
line95
谢谢你的帮助
我有这样的想法:
输出:
对于注释中提到的打印错误,请尝试以下操作:
您可以使用
re
尝试此操作。如果格式是固定的,则此操作将起作用Input text
Line1 Ron likes apple; mango line5 Ana likes lyche; apple line21 Tyson play football; VolleyBall line6 .......................... line245 ....................... line95 ............ line11 ......... line12 .......... line20 ..........
Output text
Line1 Ron likes apple; mango line5 Ana likes lyche; apple line6 .......................... line11 ......... line12 .......... line20 .......... line21 Tyson play football; VolleyBall line95 ............ line245 .......................
我没有真正的解决办法,但有一个变通办法。我会将所有行保存在字典中,然后只写这几行:
如果您不确定是否每个数字都是从1到最高的,只需稍微更改一下:
相关问题 更多 >
编程相关推荐