试图查看目录是否存在,如果它没有将目录移动到另一个目录中,然后继续循环的下一次迭代,这就是我正在做的事情,设法让第一个循环工作,将目录移动到另一个目录时,只是最后一部分正确创建所有文件,但抛出错误,错误和我的部分代码:
File "testdraft.py", line 305, in findReplace
if not os.path.exists('{}/'.format.replace+str(x)):shutil.move(str(x), '{}/'.format(replace))
AttributeError: 'builtin_function_or_method' object has no attribute 'replace'
base_direct = '{}/'.format(replace)
for x in range(1,20):
if not os.path.exists(str(x)+'/'):os.mkdir(str(x)+'/') #this part works
else: continue
shutil.copy(filename, str(x))
shutil.copy(filename1, str(x))
frag = open("fragments_procs.in", 'w')
frag.write(str(x) + "\n" + str(20-x))
shutil.copy("fragments_procs.in", str(x))
shutil.move(str(x), '{}/'.format(replace)) #believe from here and down not working
if not os.path.exists('{}/'.format(replace)+str(x)):shutil.move(str(x), '{}/'.format(replace))
else: continue
答案 0 :(得分:0)
您的代码非常混乱且难以理解,但无论如何,305行中存在明确的语法错误
if not os.path.exists('{}/'.format.replace+str(x))
这完全没有意义。 str.format函数没有任何名为replace的属性(这是一个非常糟糕的变量名称,因为字符串有一个替换方法)
我的猜测是你想做这样的事情:
if not os.path.exists('{}{}/'.format(replace, x))
答案 1 :(得分:0)
您可以使用walk
,并且每次都连接子目录。
for path, subdirs, files in os.walk(directory):
for filename in files:
print os.path.join(path, filename)
答案 2 :(得分:0)
replace
是字符串的内置方法,因此将其用作变量名会让事情变得混乱
'{}/'.format(replace+str(x))