gus*_*a10 4 python sorting glob function
我想在脚本打开文件时设置自己的顺序,但glob.glob打开文件的默认顺序是随机的。
我有以下文件:\'fish.txt\', \'expo.txt\', \'random.txt\'.
这是我所有文件的一个小规模示例,我想设置我的顺序。
\n我已经编写了打开文件的正常方法glob.glob
#! /usr/bin/env python\n import sys, os, glob\n mylist = [\'fish.txt\',\'random.txt\', \'expo.txt\']\n def sorter(item):\n for item in mylist:\n return item\n\n for file in sorted(glob.glob(\'*.txt\'), key = sorter):\n print(file)\nRun Code Online (Sandbox Code Playgroud)\n我想要的\xe2\x80\x8b 输出是:
\nfish.txt\nrandom.txt\nexpo.txt\nRun Code Online (Sandbox Code Playgroud)\n
您可以sorted(list)在迭代文件名之前对文件名进行排序:
#!/usr/bin/env python
import sys, os, glob
def sorter(item):
"""Get an item from the list (one-by-one) and return a score for that item."""
return item[1]
files = sorted(glob.glob('*.txt'), key=sorter)
for file in files:
print(file)
Run Code Online (Sandbox Code Playgroud)
在这里,它按文件名中的第二个字母排序。将功能更改sorter()为您想要的文件列表排序方式。
要按字母顺序排序,您不需要该部分,因为这是字符串列表key=sorter的默认行为。sorted()那么它就会变成:
files = sorted(glob.glob('*.txt'))
for file in files:
print(file)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15640 次 |
| 最近记录: |