def mapping(list_of_files , list_of_folders, max1):
print max1
max1 += 1
if len(list_of_folders) == 0:
folder = os.walk(os.getcwd()).next()[1]
files = os.listdir(os.getcwd())
elif len(list_of_files) != 0:
print list_of_folders[0]
## for some reason this of line of code stops working without error on 20150 iteration
folder = next(os.walk(os.getcwd() +'/' + list_of_folders[0]))[1]
#folder = os.walk(os.getcwd() +'/' + list_of_folders[0]).next()[1]
#print os.listdir(os.getcwd() + '/' +list_of_folders[0])
files = os.listdir(os.getcwd() + '/' +list_of_folders[0])
length = len(folder)
length1 = len (files)
y = 0
if folder == files:
del files[:]
else :
for x in range(length):
while y != length1:
if files[y] == folder[x]:
files.pop(y)
length1 = length1 - 1
y = 0
y += 1
y = 0
#print folder
#print files
if len(list_of_folders) == 0:
list_of_files = add_to_main_lists(list_of_files,'', files)
#print list_of_files
list_of_folders = add_to_main_lists(list_of_folders, '', folder)
#print list_of_folders
else:
list_of_files = add_to_main_lists(list_of_files,list_of_folders[0], files)
#print list_of_files
list_of_folders = add_to_main_lists(list_of_folders, list_of_folders[0], folder)
#print list_of_folders
list_of_folders.pop(0)
if len(list_of_folders) == 0:
print "got to here"
return list_of_files
else:
print "file length: " + str(len(list_of_files))
print "folder length: " + str(len(list_of_folders))
mapping(list_of_files , list_of_folders, max1)
return list_of_files
list_of_files = []
list_of_folders = []
list_of_files = mapping(list_of_files, list_of_folders , max1)
print (list_of_files)
ファイルは、ファイルがあるフォルダとそのすべてのサブディレクトリをマップすることになっています。コードが20150の反復を実行する何らかの理由で、 フォルダ= next(os.getcwd()+ '/' + list_of_folders [0])[1] はコードを終了し、エラー。私は迷っている。 sudoを使ってコードを実行します。再帰的なディレクトリツリーのpython
あなたはこれをどのように知っていますか? – Natecat
Iveは印刷機能を使用して、そのコード行まで絞り込みました。 –
これはPython 2または3ですか?この 'mapping'関数は何をしていますか? 'max1'とは何ですか? –