2016-12-27 100 views
0

我有一個由50個其他文件夾組成的文件夾。我需要os.chdir檢查第一個文件夾,退後一步,檢查文件夾#2,退後一步,檢查文件夾#3等等...在Python中更改目錄

我的代碼至今只檢查硬編碼文件夾,但我不知道如何自動執行它,以便按順序檢查每個文件夾。

facility_types = ["4x Clinic", "4x Hospital", "4x Lab"] 


for mnemonic in os.listdir(): 
    print (mnemonic) 
    print (os.listdir(mnemonic)) 
    individual_facility = os.listdir(mnemonic) 

    for facility in facility_types: 
     if individual_facility not in os.listdir(mnemonic): 
      os.chdir("C:/Users/mf050034/Desktop/test/Client 1") 
      os.makedirs(facility) 
     else: 
      print ("All Facility Types Already Exits.") 
      continue 
      for facility in facility_types: 
       if individual_facility not in os.listdir(mnemonic): 
        os.chdir(+ 1) 
        os.makedirs(facility) 
       else: 
        print ("All Facility Types Already Exits.") 
        break 
+0

我沒有時間/耐心,現在制定出一個完整的例子,但你可能會發現https://docs.python.org/2/library/os.html#os.walk有用。 –

+0

「退一步」是什麼意思?你想繼續檢查父文件夾到驅動器的根目錄嗎? – tdelaney

+0

@tdelaney檢查根 - >去級別1 - >檢查根 - >檢查級別1.自動化,我有os.chdir(+ 1),我試過os.chdir(「..」)都沒有工作 – FFF

回答

2

看起來像你想看看在當前目錄中的每個目錄(設施),如果它沒有從它facility_types一個項目,將其創建爲一個目錄。

import os 

facility_types = ["4x Clinic", "4x Hospital", "4x Lab"] 

for facility in os.listdir(): 
    for facility_type in facility_types: 
     if facility_type not in os.listdir(facility): 
      print("Adding Facility Type '{}' to {}".format(
        facility_type, facility)) 
      os.makedirs('{}/{}'.format(facility, facility_type))