【发布时间】:2012-02-09 23:00:57
【问题描述】:
我不知道出了什么问题。我之前用过rename没有任何问题,在其他类似问题中找不到解决方案。
import os
import random
directory = "C:\\whatever"
string = ""
alphabet = "abcdefghijklmnopqrstuvwxyz"
listDir = os.listdir(directory)
for item in listDir:
path = os.path.join(directory, item)
for x in random.sample(alphabet, random.randint(5,15)):
string += x
string += path[-4:] #adds file extension
os.rename(path, string)
string= ""
【问题讨论】:
-
好吧,
path中的os.rename(path, string)是什么,它存在吗? -
扩展名不必为 3 个字符,因此请使用
os.path.splitext表示该部分。 -
顺便说一句效率更高:
string = ''.join( random.sample(alphabet, random.randint(5,15)) ) -
我认为您应该扩展 @Hamish 的建议,向我们展示您的目录结构的输出并在
os.rename之前添加一个打印语句 -
更好的变量名在这里会产生很大的不同。路径和字符串很差。请改用 src 和 dest。
标签: python