2013-02-25 110 views
-2

我有以下目錄和其中包含txfiles的子目錄。我想訪問它們來閱讀這些行。但這不起作用。你能幫助我嗎?如何在python中使用os.popen,os.path.join作爲命令行ls

主目錄:2009年

子目錄:電影,專輯,歌曲

這些目錄中包含的文本文件。 我想通過這些文本的每一行讀取文件

我的僞代碼folllows

x = os.listdir("2009") 

現在,x是的[電影,專輯,歌曲]

for el in x: 
    os.system("ls 2009/el") 
    for lines in os.popen(2009/el"): 
     print lines 
+2

問題是什麼? – 2013-02-25 07:57:50

+0

請使用編輯器中的「{}」按鈕來格式化您的代碼。 – 2013-02-25 07:58:21

回答

1

列表如果你想讓它訪問該行(例如將它們打印出來,如問題所示),我認爲你不需要os.popen。

您提供的代碼不起作用,因爲它甚至有語法錯誤。 (無與倫比的雙引號)

下面是一些示例代碼,它可以滿足您的要求。

>>> dirname='2009' #or the full path. 
>>> for filename in os.listdir(dirname): 
...  with open(os.path.join(dirname, filename)) as f: 
...   for line in f.readlines(): 
...    print line 
... 

我希望這會有所幫助。