2011-06-27 6 views
2

「myfolder」という名前のフォルダでファイル名「myfile」を検索する場合、ファイルの形式を知らなくてもどうすればできますか? もう1つの質問:フォルダのすべてのファイルを一覧表示する方法そのサブフォルダのすべてのファイル(など)? ありがとうございます。拡張子を知らずにフォルダ内のファイルを検索しますか?

+0

ご回答いただければ受け付けてください。それ以外の場合は、質問にさらに情報を追加することができます。 :) –

答えて

4
import os 
import glob 
  
path = 'myfolder/' 
for infile in glob.glob(os.path.join(path, 'myfile.*')): 
    print "current file is: " + infile 

あなたは、単に

for infile in glob.glob(os.path.join(path)): 
0

へのforループを変更、フォルダ内のすべてのファイルを一覧表示したい場合、私は、このためのpythonのロジックを知らないが、私は次の操作を行います:

ディレクトリ内の各ファイルをループし、名前を文字列として取得し、文字列を "myfile"で区切って "myfile"で始まるかどうかを確認します。あなたはあなたが持っているものとあなたが探しているものを比較することができます。

0

format(これはファイルの種類を前提としています)は、その拡張子(名前の一部)とは関係ありません。

UNIXの場合は、findコマンドを使用できます。 find myfolder -name myfileが動作するはずです。

完全なリストが必要な場合は、引数なしでfindを使用するか、-Rオプションを使用してlsを使用するか、treeコマンドを使用します。これらはすべてUNIX上にあります。

+0

これはPythonコードと思われていたと思います。しかし、いつでも['subprocess.check_output'関数](http://docs.python.org/library/subprocess.html#subprocess.check_output)を使用することはできますか? :) –

+0

はい。私はそのタグに気付かなかった。質問自体は非常に "貝殻のように"見えた。 –

3

すべてのフォルダ内のファイルとそのサブフォルダの一覧を表示し、その上、os.walk functionを使用するには:

ちょうどそのサブフォルダ 'myfolder'に見て、ではないにしたいが容易場合
import os 
for root, dirs, files in os.walk('/blah/myfolder'): 
    for name in files: 
     if 'myfile' in name: 
      print ("Found %s" % name) 

os.listdir functionをご利用ください:

import os 
for name in os.listdir('/blah/myfolder'): 
    if 'myfile' in name: 
     print ("Found %s" % name) 
関連する問題