2017-02-03 8 views
1

ファイルに10枚の画像があり、そのファイル名に10〜99の乱数を付けて名前を変更したいと思います。例えばディレクトリ内の各ファイルに乱数を追加するにはどうすればよいですか? (初心者)

FileA.jpg>45FileA.jpg

FileB.jpg>22FileB.jpg

次が正しくありません。この関数内で乱数を文字列に変換するにはどうすればよいですか?

def random_rename(): 

    file_list = os.listdir(r"C:\Users\Directory\Desktop\prank\My_Message") 

    for file_name in file_list: 
     os.rename(file_name, str(random.randint(10,99)) + file_name) 
+0

問題は 'os.listdir'が_full_パス、単にファイル名を返さないことです。 –

+0

あなたはより良いリストを提供するかもしれないos.walk(ディレクトリ)を試すことができます –

答えて

3

コメンターはあなたの実際のパスでそれらをjoinする必要があるので、os.listdirは絶対パスを返しません述べたように。

試してみてください。

def random_rename(): 
    path = r"C:\Users\Directory\Desktop\prank\My_Message" 
    file_list = os.listdir(path) 
    for file_name in file_list: 
     old_name = os.path.join(path, file_name) 
     new_name = os.path.join(path, str(random.randint(10,99)) + file_name) 
     os.rename(old_name, new_name) 
関連する問題