我想在文件夹中找到名称最短的.txt文件。
import glob import os inpDir = "C:/Users/ft/Desktop/Folder" os.chdir(inpDir) for file in glob.glob("*.txt"): l = len(file)
现在我找到了名字的字符串长度,我怎样才能返回最短的名字呢?谢谢
zpf6vheq1#
要查找最短的文件,只需与当前最短的文件进行比较:
chosen_file = "" for file in glob.glob("*.txt"): if chosen_file == "" or len(file) < len(chosen_file): chosen_file = file print(f"{chosen_file} is the shortest file")
一旦完成循环,chosen_file str就一定是最短的。
chosen_file
mfuanj7w2#
将其放入函数中并调用它:
import glob import os def shortest_file_name(inpDir: str, extension: str) -> str: os.chdir(inpDir) shortest, l = '', 0b100000000 for file in glob.glob(extension): if len(file) < l: l = len(file) shortest = file return shortest inpDir = "C:/Users/ft/Desktop/Folder" min_file_name = shortest_file_name(inpDir, "*.txt")
8yparm6h3#
只需使用glob模块获取文件列表,然后利用min(..., key=...)查找最短的字符串(请参见help(min)):
glob
min(..., key=...)
help(min)
min(glob.glob('*.txt'), key=len)
iqxoj9l94#
min = 1000 for file in glob.glob("*.txt"): if len(file) < min: min = len(file) name = file
4条答案
按热度按时间zpf6vheq1#
要查找最短的文件,只需与当前最短的文件进行比较:
一旦完成循环,
chosen_file
str就一定是最短的。mfuanj7w2#
将其放入函数中并调用它:
8yparm6h3#
只需使用
glob
模块获取文件列表,然后利用min(..., key=...)
查找最短的字符串(请参见help(min)
):iqxoj9l94#