Как вы используете функцию os.rename () в Python 3? - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь переименовать имена файлов и расширения всех файлов в каталоге и переместить их в новый каталог.Я прочитал несколько постов о том, как это сделать, но по какой-то причине я не добился успеха, и я застрял в этом на 3 дня и чувствую, что делаю что-то небрежное.Кто-нибудь, пожалуйста, помогите мне.Это последний способ, который я пробовал.

import os

previousName = 'Macintosh HD⁩/⁨Users⁩/⁨kunductor/⁨Desktop⁩/⁨folder3/windeffect.asd'

newName = 'Macintosh HD⁩/Users⁩/kunductor⁩/Desktop⁩/folder4/wind.wav'

os.rename(previousName,newName)

Когда я запускаю приведенный выше код, я получаю сообщение:

Traceback (most recent call last):
  File "rename.py", line 7, in <module>
    os.rename(previousName,newName)
FileNotFoundError: [Errno 2] No such file or directory

Если это имеет значение, я использую macOS Mojave, версия 10.14.2.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

это код, который работал.Я думаю, что проблема заключалась в том, что я пытался изменить не аудио-файл на .wav, а система отклоняла его.

import os 

# Function to rename multiple files 
def main(): 
    i = 0

    for filename in os.listdir('/Users/vfloyd/Desktop/uu/'): 
        dst ="Kick" + str(i) + ".wav"
        src = '/Users/vfloyd/Desktop/uu/'+ filename 
        dst ='/Users/vfloyd/Desktop/newD/'+ dst 

        # rename() function will 
        # rename all the files 
        os.rename(src, dst) 
        i += 1

# Driver Code 
if __name__ == '__main__': 

    # Calling main() function 
    main()
0 голосов
/ 03 февраля 2019

Я попытался повторить то же самое, используя Python 3 на Mojave 10.14.2.Используйте пути, начинающиеся с '/Users', и не включайте Macintosh HD.Код отлично работает, когда существуют и folder3, и folder4.Я получил похожую ошибку, когда folder4 был удален, и в сообщении об ошибке также указаны пути, которые я передал в качестве параметров.

Если это то, что вы испытываете, убедитесь, что каталог, который вы пытаетесь переместить,файл существует до вызова os.rename.Это можно сделать в самом Python с помощью метода os.mkdir.Поскольку он выдает ошибку, если каталог уже существует, вы можете проверить это с помощью метода os.path.exists.

...