我有许多目录,其中包含类似于以下示例的文件:
test
setup
adder
hello
_CONFIG
TEST2
这些目录中带有前缀_
的文件代表重要的配置文件。我的目的是在列出目录时首先显示这些文件,即我希望提供:
_CONFIG
TEST2
adder
hello
setup
test
但是,我正在使用
for element in sorted(os.listdir(path)):
print(element)
这提供了一个列表,其中以_
前缀文件的上方列出了以大写字母开头的文件:
TEST2
_CONFIG
adder
hello
setup
test
除此之外还有没有按照第一个字符过滤每个文件并单独打印,因为这看起来有点矫枉过正。
谢谢
汤姆
答案 0 :(得分:2)
sorted( ..., key = lambda s: ( not s.startswith( "_" ), s ) )
答案 1 :(得分:0)
for element in sorted(os.listdir(path), key=lambda x:x.replace('_', ' ')):
print(element)