我是Python新手,我用它来做一些数据分析。
我的问题是:我有一个包含许多子目录的目录,每个子目录都包含大量数据文件。
我已经编写了一个Python脚本,当在其中一个子目录中执行时,它将执行数据分析并将其写入输出文件。该脚本包含一些shell命令,我使用os.system()
调用这些命令,因此我必须“在”其中一个子目录中才能工作。
如何编写一个自动:
我想这可以用os.walk()
以某种方式完成,但我并不真正理解它是如何工作的。
我知道this post的存在,但它并不能解决我的问题。
PPS也许我应该指出我的函数没有把目录名作为参数。实际上不需要争论。
要在Python中更改工作目录,您需要:
然后可以递归地运行脚本。
示例代码:
我不知道你的剧本是怎么写的,因为你的问题很笼统,所以我只能给出一个笼统的答案。。。。
但我想你需要的是:
操作系统。单独行走不起作用
我希望这有帮助! 祝你好运!
这样就可以了。
os.listdir
方法只返回根目录中的目录列表。但是,
os.walk
方法递归地遍历目录,这使得它对其他事情很有用,os.listdir
可能更好。但是,为了完整起见,这里有一个
os.walk
选项:注意
os.walk
是一个生成器,因此是下一个调用。下一个调用,生成一个元组根目录文件。在本例中,根目录是您的目录。您只对dirs(子目录的列表)感兴趣,所以要索引[1]。os.walk应该能很好地满足您的需要。开始使用此代码,您应该了解需要执行的操作:
这段代码将向您显示os.walk将遍历所选起始路径的所有子目录。在每个目录中,通过连接路径和文件名,可以获得每个文件名的完整路径。例如:
使用每个文件的完整路径,您可以在os.walk for循环中执行分析。添加分析代码,以便for循环不仅仅打印内容。
相关问题 更多 >
编程相关推荐