2012-04-29 4 views
3

問題:私の「D:/コレクション」ではPythonでディレクトリ内のファイル名の一覧を取得する方法

フォルダ、私は「8桁-NUMBER_TYPEあるファイルの2種類があります。 00093282.dbf、00345602.dbf、69209340.dbf、69806980.dbf、92406482.dbf、93609360.dbf、...、aaa.dbf、bbb.dbf、...のように "dbf"と "character_type.dbf" 。

目的:私は "8桁-number_type.dbf" ファイルを取り、私のAから "character_type.dbf" ファイルを除外したい

分析。私は "character_type.dbf"ファイルを気にしません。次に、8桁を2桁の4桁の値に分割したいと思います。だから、2列のリストファイル(たとえば、list.txtには)次のようになります。

0009 3282 
0034 5602 
6920 9340 
6980 6980 
9240 6482 
9360 9360 
.... 

そして、これらの値は、文字型として格納する必要があります。

どうすればPythonで実装できますか?ありがとうございました。

敬具、 ビルTP

答えて

3
>>> import os 
>>> paths = ['00093282.dbf', '00345602.dbf', '69209340.dbf', '69806980.dbf', '92406482.dbf', '93609360.dbf','aaa.dbf', 'bbb.dbf'] 
>>> for path in paths: 
     file_name,ext = os.path.splitext(path) 
     if file_name.isdigit(): 
      print '{0} {1}'.format(file_name[:4],file_name[4:]) 


0009 3282 
0034 5602 
6920 9340 
6980 6980 
9240 6482 
9360 9360 
+1

へのパスの宣言を変更'' os.listdir(path) '](http://docs.python.org/library/os.html)もしあなたが彼のためにすべてをやっていれば:-) – jedwards

+0

私はそれをOPに任せますこの方法でテストする方が簡単だからです。D – jamylak

+0

ありがとう、みんな。もう1つ質問:印刷は、印刷された値を含むテキストファイルを作成しません。私はテキストファイル(例えば、mylistout.txt)に値を書き込む方法を知っています。 –

1

がjamylakの溶液でos.listdir(path)を使用するには、二行目のimport文from os import listdirを入れて、[あなたにも彼を与える可能性があるpaths = listdir('D:/')

関連する問題