函数写出来了,最后不会了
提示我循环次数太多了
所以要怎么解决
在我原函数不动的基础上
帮助一下吧
总共只有0到9十个数字,没有必要每次都重新计算阶乘,可以先用列表把这十个数字的阶乘存起来,后面直接调用就好了。
factorial = [1]*10
for i in range(1, 10):
factorial[i] = factorial[i-1]*i
不知道你这个问题是否已经解决, 如果还没有解决的话:import os, random, shutil
def moveFile(fileDir):
pathDir = os.listdir(fileDir) # 取图片的原始路径
filenumber = len(pathDir)
rate = 0.75 # 自定义抽取图片的比例
picknumber = int(1000 * rate) # 按照rate比例从文件夹中取一定数量图片
sample = random.sample(pathDir, picknumber) # 随机选取picknumber数量的样本图片
count = 1
for namein sample:
shutil.move(fileDir + name, tarDir + name)
os.rename(os.path.join(tarDir, name), os.path.join(tarDir, str(count) + ".jpg"))
count += 1
return
if __name__ == '__main__':
fileDir = "/mnt/NIvsCG/datasets/mobilephone_img/" # 源图片文件夹路径
tarDir = "/mnt/NIvsCG/datasets/train/" # 移动到新的文件夹路径
moveFile(fileDir)