2012-04-29 158 views
3

問題:如何在Python中獲取目錄中的文件名列表

在我的「d:/收藏」文件夾中,我有兩種類型的文件,這是「8位數,NUMBER_TYPE。 dbf「和」character_type.dbf「,如下所示:00093282.dbf,00345602.dbf,69209340.dbf,69806980.dbf,92406482.dbf,93609360.dbf,...,aaa.dbf,bbb.dbf,... 。

目的:

我想借此僅「8位數,number_type.dbf」的文件,並從我的一個排除「character_type.dbf」文件nalysis。我不關心「character_type.dbf」文件。然後,我想將8位數分成兩個4位數值。所以,一個列表文件(比如說,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 2012-04-29 00:55:55

+0

我會把它留給OP因爲用這種方式測試它更容易:D – jamylak 2012-04-29 00:56:57

+0

謝謝,夥計們。還有一個問題:打印不會生成包含打印值的文本文件。我想知道如何將這些值寫入文本文件(比如說,mylistout.txt)。 – 2012-04-29 20:22:52

1

要使用jamylak的解決方案使用os.listdir(path),簡單地把import語句from os import listdir在第二行,改變路徑聲明paths = listdir('D:/')

相關問題