gpt4 book ai didi

python - 在子目录中查找部分文件名

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:05 24 4
gpt4 key购买 nike

我正在尝试创建一个脚本,它将遍历多个目录和子目录并找到匹配的文件名并显示其路径。

我能够轻松地在 shell 脚本中完成此操作,并且能够获得所需的输出。我在 shell 中使用过它,如下所示:

echo "enter the name of the movie."
read moviename
cd "D:\movies"
find -iname "*$moviename*" > result.txt
cat result.txt
for i in result.txt
do
if [ "$(stat -c %s "$i")" -le 1 ]
then
echo "No such movie exists"
fi
done

这就是我在 python 中所拥有的,但我一无所获。

import os.path
from os import path

print ('What\'s the name of the movie?')
name = input()

for root, dirs, files in os.walk('D:\movies'):
for file in files:
if os.path.isfile('D:\movies'+name):
print(os.path.join(root, file))
else:
print('No such movie')

我希望它搜索不区分大小写的文件名并显示它。我已经很努力地做到了。

最佳答案

import os

name = input('What\'s the name of the movie?')

success = False

for root, dirs, files in os.walk('D:\movies'):
for file in files:
if name.lower() in file.lower():
print(os.path.join(root, file))
success = True
if success == False:
print('No such movie')

您不需要单独导入操作系统的每个部分。

您可以将输入和打印合并到一行中。

这基本上是在询问“如果该字符串在该字符串中,则打印路径”。 lower() 将使其不区分大小写。

我添加了 success 变量,否则每次文件不匹配时它都会打印行。

关于python - 在子目录中查找部分文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57743236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com