【发布时间】:2016-01-10 11:52:22
【问题描述】:
我刚刚脱离 LPTHW,我正在尝试使用重命名脚本来弄脏自己的手。
我在尝试列出目录中的文件时遇到问题,代码是:
def rename_files():
for root, dirs, files in os.walk(path):
dirs_len = len(dirs)
for i in range(0, dirs_len):
print dirs[i]
以上代码将按预期正确显示目录列表.. 但是,做这样的事情:
for root, dirs, files in os.walk(path):
dirs_len = len(dirs)
for i in range(0, dirs_len):
print dirs[i]
print files
会在每个目录下产生一个空列表。
我通过创建一个 files_len 并将其放置在嵌套的 for 循环中进行了实验:
for root, dirs, files in os.walk(path):
dirs_len = len(dirs)
files_len = len(files)
for i in range(0, dirs_len):
print dirs[i]
print files_len
结果为 0。
如果我将 files_len 放在第一个 for 循环中,结果为 3,这是目录中正确的文件数。
我希望它打印如下内容:
我的图片
- img1.png
- img2.png
而且我只是不知道如何构造我的代码以使其按我想要的方式运行。
请指点我的方向好吗?
非常感谢,非常感谢!
-编辑- 这里的最终目标是查看每个目录,接受 raw_input 来更改文件名,一旦到达最后一个文件,就转到下一个目录,冲洗并重复。
例如:
目录1
-> 重命名 img1.png:img_1.png (
-> 重命名 img2.png:img_2.png (
-> 重命名 img3.png:img_3.png (
目录2
-> 重命名 img1.png:img_1.png (
-> 重命名 img2.png:img_2.png (
-> 重命名 img3.png:img_3.png (
以此类推,直到到达最后一个目录中的最后一个文件。
【问题讨论】: