我正在尝试使用下面的代码从目录中删除图像,但它不做我想要的
import os
import sys
count = 0
for arg in sys.argv:
for (dirname, dirs, files) in os.walk(arg):
for filename in files:
if filename.endswith('.jpg'):
count = count + 1
thefile = os.path.join(dirname,filename)
os.remove(thefile)
print('Files:', count)
print('Files removed')
它没有抛出任何错误,但仍未删除文件
尝试:
import os
import sys
count = 0
# Path for os.walk() is obtained via commandline parameter 1
for dirname, dirs, files in os.walk(sys.argv[1]):
for filename in files:
if filename.lower().endswith('.jpg'):
count += 1
thefile = os.path.join(dirname, filename)
os.remove(thefile)
print('Files:', count)
print('Files removed')
执行代码: -
-> ImageRemover.py "C:UserslolPictures"
用于执行脚本的一般语法= 'python_script_location' 'image_dir_location'
第二个参数将是图像文件目录的位置。
更改: -
删除了冗余最外面的for
循环,以提供image_dir
到os.walk()
的路径,从而使过程更有效。
要记住的事情: -
- 提供源目录的完整路径(被认为是一个很好的度量(
- 确保文件扩展名是正确的,也是您想要的。前任。如果您的映像文件是
.png
扩展名,则将if filename.lower().endswith('.jpg')
更改为if filename.lower().endswith('.png')
确保您正在使用命令行执行脚本,否则脚本将执行,但始终显示此输出: -
文件:0
文件已删除