在 for 循环中,如何将变量分配给特定的文件类型?
In a for loop, how can I assign the variable to a specific file-type?
我在 python 中使用 os.walk
命令浏览目录的所有内容。我正在 运行 对目录中所有文件夹和子文件夹内的文件进行辅助 for 循环。弹出一个错误,说它不知道如何处理存在的 .txt
文件(我的代码特定于 .png
文件)。我希望辅助 for 循环仅在 .png
文件类型上 运行 并忽略 .txt
或文件夹中包含 .png
图像的其他文件。我尝试了 assert
命令,但无法正常工作。我怎样才能限制 .png
个文件?
for root, dirs, files in os.walk(r"/mnt/c/Users/james/Documents/ListingTest/", topdown=True):
for image in files:
assert image is filetype: .png
print(os.path.join(root, image))
我无法正确使用 assert 函数语法,甚至不知道它是否是我需要使用的命令。
尝试:
for image in files:
if image.lower().endswith(".png"):
print(os.path.join(root, image))
这将打印以 .png
结尾的文件的所有路径。如评论中所述,这实际上并不能保证该文件是图像。将打印具有上述扩展名的任何文件。
我在 python 中使用 os.walk
命令浏览目录的所有内容。我正在 运行 对目录中所有文件夹和子文件夹内的文件进行辅助 for 循环。弹出一个错误,说它不知道如何处理存在的 .txt
文件(我的代码特定于 .png
文件)。我希望辅助 for 循环仅在 .png
文件类型上 运行 并忽略 .txt
或文件夹中包含 .png
图像的其他文件。我尝试了 assert
命令,但无法正常工作。我怎样才能限制 .png
个文件?
for root, dirs, files in os.walk(r"/mnt/c/Users/james/Documents/ListingTest/", topdown=True):
for image in files:
assert image is filetype: .png
print(os.path.join(root, image))
我无法正确使用 assert 函数语法,甚至不知道它是否是我需要使用的命令。
尝试:
for image in files:
if image.lower().endswith(".png"):
print(os.path.join(root, image))
这将打印以 .png
结尾的文件的所有路径。如评论中所述,这实际上并不能保证该文件是图像。将打印具有上述扩展名的任何文件。