f = open('2.txt', 'r')
file_contents = f.read()
print(file_contents)
list = f.readline()
print(sorted(f.readline()))
返回“[]”作为输出。该文件的内容是:
Tom : 3
1 : 1
3 : 0
Tom : 1
You : 0
H : 0
Yo : 1
R : 0
Test : 0
T : 0
Yes : 0
3 : 0
T : 0
H : 0
Tesr : 0
G : 0
H : 0
V : 0
我希望按字母顺序列出所有名称。
答案 0 :(得分:0)
您正在阅读文件的第一行,并且您的第一行(可能是空格)中似乎没有任何字符串。
这里有一些要点首先作为pythoinc方式,您可以使用with
语句打开文件,在文件结束时关闭文件,其次可以使用file.readlines()
返回全部列表中的行。但是如果你想使用sorted
,因为文件对象是可迭代的,你只需将文件对象传递给sorted:
with open('2.txt', 'r') as f :
print(sorted(f))
答案 1 :(得分:0)
您的代码已使用f.read()
在整个文件中读取,文件指针位于末尾。您可以使用f.seek()
将文件指针移回开头,如下所示:
with open('2.txt', 'r') as f: # Automatically close the file afterwards
file_contents = f.read() # Read whole file
print(file_contents) # Print whole file
f.seek(0) # Move back to the start
list = f.readline() # Read first line again
print(sorted(f.readline())) # Sort the characters in the first line
然后,您会发现只读取第一行,sorted()
最终会对该行中的字符进行排序。
您可能要做的事情如下:
with open('2.txt', 'r') as f: # Automatically close the file afterwards
file_contents = f.readlines() # Read whole file as a list of lines
print(''.join(sorted(file_contents))) # Print the sorted lines
将显示以下内容:
1 : 1
3 : 0
3 : 0
G : 0
H : 0
H : 0
H : 0
R : 0
T : 0
T : 0
Tesr : 0
Test : 0
Tom : 1
Tom : 3
V : 0Yes : 0
Yo : 1
You : 0