更改多个文件名 - python脚本

时间:2016-05-31 12:20:56

标签: python unicode

首先我是python中的新手。 我有大量文件(117个文件),我认为他们的名字是UTF-8。这是一个文件名样本:

1|جاÙا JAVA : ÙÙÙÙ٠اÙخصائص Attributes Ù٠اÙبرÙجة|R9Rku3z63uI.mp4

我想更改这些文件名,所以我制作了以下python脚本:

# -*- coding: utf-8 -*-
import os

names = "مقدمة الدورة و \n مفهوم الكائنات في البرمجة\nمفهوم الخصائص Attributes في البرمجة............" 
i = 0
for r,dirs,files in os.walk('/media/sdd3vil/SDDEvilOthers/Programming/Java/java101/'):
     files.sort()
     fa = '\n'.join(files)
     fc = fa.split('\n')
while i < 118 :
    os.rename(fc[i], names[i])
    print "%s Changed To %s" % (f3, names[i])
    i +=1
    continue

“names”变量包含我想在原始文件名中替换的名称。 但我得到以下例外:

Traceback (most recent call last):
     File "Re.py", line 20, in <module>
        os.rename(fc[i], names[i])
OSError: [Errno 2] No such file or directory

任何人都可以解释问题是什么,并给我们一个解决方案。 感谢。

1 个答案:

答案 0 :(得分:0)

您的名称变量只是一个字符串而不是列表,因此 names [i] 只是其中的第i个字符。您可以将其初始化为列表,也可以在使用前将其拆分()。

当您的代码没有按照您的期望/期望行事时,通常是因为您的变量不包含您的想法,因此在错误打印变量值之前添加print语句应该是您的第一反应.. (或者你的第二个,因为一些代码审查可以发现这样的问题)