Python os.listdir() 函数:列出目录文件及子目录 (附解码示例)
使用 Python os.listdir() 函数列出目录文件及子目录 (附解码示例)
本文将介绍如何使用 Python 的 os 模块中的 listdir() 函数列出指定目录中的所有文件和子目录。此外,我们还将提供一个示例代码,演示如何对文件名进行解码,以解决中文文件名乱码的问题。
代码示例:
import os
# 列出指定目录中的所有文件和子目录
files = os.listdir('C:\Users\Lenovo\Desktop\codeAndTxt\bendibao')
for file in files:
# 解码文件名
decoded_file = file.encode('latin1').decode('gbk')
print(decoded_file)
代码解释:
- 导入 os 模块:
import os - 使用 listdir() 函数列出目录内容:
files = os.listdir('C:\Users\Lenovo\Desktop\codeAndTxt\bendibao')该语句将列出指定目录('C:\Users\Lenovo\Desktop\codeAndTxt\bendibao')中的所有文件和子目录,并将结果存储在files列表中。 - 循环遍历文件列表:
for file in files:使用循环遍历files列表中的每个文件和子目录。 - 解码文件名:
decoded_file = file.encode('latin1').decode('gbk')此步骤对文件名进行解码。由于中文文件名可能在不同的编码之间转换,因此使用encode('latin1')将文件名从默认的 utf-8 编码转换为 latin1 编码,然后使用decode('gbk')将其从 latin1 编码转换为 gbk 编码。这可以确保中文文件名能够正确显示。 - 打印解码后的文件名:
print(decoded_file)最后,将解码后的文件名打印到控制台。
注意: 代码中的目录路径 'C:\Users\Lenovo\Desktop\codeAndTxt\bendibao' 是示例路径,请根据实际情况修改为目标目录路径。
通过使用 os.listdir() 函数并结合解码操作,您可以轻松地列出指定目录中的所有文件和子目录,并解决中文文件名乱码问题。
原文地址: https://www.cveoy.top/t/topic/qsXt 著作权归作者所有。请勿转载和采集!