当缺少反面数据的时候,通过打乱文件名与文件内容来达成制作出反面数据的目的
方法一:使用随机函数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])