2016-12-27 91 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))