python文件名随机替换

当缺少反面数据的时候,通过打乱文件名与文件内容来达成制作出反面数据的目的

方法一:使用随机函数random.randint(),随机出一个随机数作为下标,然后由该下标对应的标题替换原来的额标题
缺点:存在一定概率原文件名对应原文本

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

# 初代版本
path = //填文件夹路径
files = os.listdir(path)
file_list = files[:]
for index, file in enumerate(files):
    os.rename(path + "\\" + file, path + "\\" + str(index))
files = os.listdir(path)
for file in files:
    index = random.randint(0, len(file_list)-1)
    print file, file_list[index]
    os.rename(path + "\\" + file, path + "\\" + file_list[index])
    file_list.pop(index)

方法二:随机函数random.shuffle()。该函数可以打乱列表的顺序。使用原列表与新列表进行对比。如果不同,假如confuse_list列表。如果相同,进行函数的自身迭代

# -*- coding:utf-8 -*-
import os
import random
# 二代版本
path = //填文件夹路径
files = os.listdir(path)
file_list = files[:]
confuse_list = []


def confuse(fileName, fileList, confuseList):
    if fileName != fileList[0]:
        confuseList.append(fileList[0])
        fileList.pop(0)
    else:
        random.shuffle(fileList)
        confuse(fileName, fileList, confuseList)

for index, file in enumerate(files):
    confuse(file, file_list, confuse_list)
    os.rename(path + "\\" + file, path + "\\" + str(index))
del file_list
files = os.listdir(path)
for index, file in enumerate(files):
    print file, confuse_list[index]
    os.rename(path + "\\" + file, path + "\\" + confuse_list[index])

你可能感兴趣的:(python文件名随机替换)