如何在python中使用os.popen,os.path.join作为命令行ls

时间:2013-02-25 07:55:13

标签: python popen os.system os.path

我有以下目录和子目录,其中包含txfiles。我想访问它们来阅读这些行。但这不起作用。你可以帮帮我吗?

主目录:2009

子目录:电影,专辑,歌曲

这些目录中的每一个都包含文本文件。 我想阅读这些文本文件的每一行

我的伪代码如下

x = os.listdir("2009")

现在,x将是[电影,专辑,歌曲]的列表

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

1 个答案:

答案 0 :(得分: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
...

我希望这会有所帮助。