2016-05-31 2 views
0

сначала я новичок в python. у меня есть часть файлов (117 файлов), я думаю, что их имена UTF-8 .Здесь есть один образец файла:изменить несколько имен файлов - скрипт python

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

я хочу изменить эти имена файлов, так что я сделал следующий питон скрипт:

# -*- 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 

может кто-нибудь объяснить, что это проблема и дать нам решать. Спасибо.

ответ

0

Ваших имена переменное это просто строка, а не список, так имена [я] это только я-й символ в нем. Либо вы инициализируете его как список, либо разделите его перед использованием.

Когда ваш код не ведет себя так, как вы хотите/ожидаете, это обычно происходит потому, что ваши переменные не содержат того, что вы думаете, поэтому добавление оператора печати непосредственно перед ошибкой печати значений переменных должно быть вашим первым рефлексом. .. (или ваш второй, потому что немного обзора кода может выявить такие проблемы)

+0

У меня нет никаких проблемных индексов, потому что я использовал инструкцию «print», и я получил результат, который мне нужен. У меня только проблема с функция, которая меняет имена файлов. Хотя я пытался изменить имя файла с «mv» в терминале, но у меня проблема, потому что имя файла в формате UTF-8 изменилось на двоичный формат. Мне интересно, имеет ли отношение «mv» к этой функции , – SDDEvil