2016-11-02 4 views
2

を選択してください:パイソン - 次のコードは、すべての3文字のコード、例を含むように起こるのディレクトリのリストを印刷し、特定の文字列を含むディレクトリ

//サーバー/ジョブ/ 2016 \ AAM - 「areallylongfilename」/ CLM \

//サーバー/ジョブ/ 2016 - COO \ 'areallylongfilename'/

//サーバー/ジョブ/ 2016 - 'areallylongfilename'/

import os 
basepath = '//Server/Jobs/2016' 
for fname in os.listdir(basepath): 
    path = os.path.join(basepath, fname) 
    if os.path.isdir(path): 
     print(path) 

がどのように私は1つのディレクトリFを得ることができますROMの3文字コードに基づいて?

+1

このコードは、すべての3文字コード*を含むディレクトリの*リストを返しません、 'basepath'内に存在するすべてのディレクトリのパスです。印刷パスから1つのパスを印刷することを意味しますか?はいの場合、任意の特定のパスまたはランダムなパス? –

+0

はい私は入力する3文字のコードが含まれている場合、1つのパスを印刷したいと思います。私は、ソースから// Server/Jobs/2016パスにあるディレクトリの1つにファイルを移動するTkinterアプリケーションを作成しています。アプリケーションは、宛先ディレクトリを選択するために3文字のコードを要求します。 –

答えて

0
import os 
basepath = '//Server/Jobs/2016' 
asked_name = 'COO' 
if len(asked_name) != 3: 
     print "Expected 3 letter code, got:", asked_name 
else: 
     for fname in os.listdir(basepath): 
       path = os.path.join(basepath, fname) 
       if os.path.isdir(path): 
         if fname == asked_name: 
           print(path) 
+0

これは、 'ask_name in fname'であるべきです。それ以外は、ありがとう! –

0

あなたは「D:」スキャンしたいとあなたはとしてコーディングすることができ、ディスク:

 
import os 
dir="d:\\" 
for root,dirs,files in os.walk(dir): 
    for a_dir in dirs: 
     if ("Server" in a_dir) and ("Jobs" in a_dir) and ("2016" in a_dir): 
      print os.path.join(root,a_dir) 
関連する問題