Python 如何根据文件内容对目录中的文件进行排序?

Python 如何根据文件内容对目录中的文件进行排序?,python,python-3.x,Python,Python 3.x,我是编程新手,目前我正在尝试根据每个文件的内容在目录中对“.text”文件进行排序 文件的内容将包含随机数,例如'a.text'=5,以及'b.text'=3。我希望使用Python根据目录内容的值按升序对目录中的文件进行排序 我试着查看了sorted()和sort(),但我发现的大部分只是对文件中的值进行排序。提前感谢您的帮助。您需要定义一个函数,该函数可用作排序的键 在这里,我们打开它,读取内容并将其转换为浮点值。这假设每个文件中只有一个数字(没有其他数字),并且可以将其转换为浮点值。对于每

我是编程新手,目前我正在尝试根据每个文件的内容在目录中对“.text”文件进行排序

文件的内容将包含随机数,例如
'a.text'=5
,以及
'b.text'=3
。我希望使用Python根据目录内容的值按升序对目录中的文件进行排序


我试着查看了
sorted()
sort()
,但我发现的大部分只是对文件中的值进行排序。提前感谢您的帮助。

您需要定义一个函数,该函数可用作
排序的

在这里,我们打开它,读取内容并将其转换为
浮点值
。这假设每个文件中只有一个数字(没有其他数字),并且可以将其转换为
浮点值。对于每个输入记录,该键函数只调用一次(因此没有不必要的文件读取)

使用以下两个文件:

a.txt
10

b.txt
3

您需要定义一个函数,该函数可用作
排序的

在这里,我们打开它,读取内容并将其转换为
浮点值
。这假设每个文件中只有一个数字(没有其他数字),并且可以将其转换为
浮点值。对于每个输入记录,该键函数只调用一次(因此没有不必要的文件读取)

使用以下两个文件:

a.txt
10

b.txt
3

基于@Graipher的答案,但使用pythons
pathlib
module:

from pathlib import Path

files = ["a.txt", "b.txt"]
sorted(files, key=lambda f: float(Path(f).read_text()))
# ['b.txt', 'a.txt']

基于@Graipher的答案,但使用pythons
pathlib
module:

from pathlib import Path

files = ["a.txt", "b.txt"]
sorted(files, key=lambda f: float(Path(f).read_text()))
# ['b.txt', 'a.txt']

这些值都是整数还是浮点数?任何文件中是否有多个值?不能对目录中的文件进行排序。它是特定于系统的。操作系统将按名称、日期、类型等对它们进行排序。您的意思是它在资源管理器窗口中的显示方式吗?您的意思是在Python中有一个类似
的文件名列表
,并且您希望根据文件的内容对
列表
进行排序?这些值都是整数还是浮点数?任何文件中是否有多个值?不能对目录中的文件进行排序。它是特定于系统的。操作系统将按名称、日期、类型等对它们进行排序。您的意思是它在资源管理器窗口中的显示方式吗?您的意思是在Python中有一个类似
的文件名列表
,并且希望根据文件的内容对
列表
进行排序?