返回宝典

系统交互

上一节 下一节

通过os模块,python程序可以轻松与操作系统进行交互;而内置模块shutil则主要针对文件夹及文件的操作管理。


os模块

内置模块os,提供了很多种与操作系统交互的功能方法。举例如下:

>>> import os
>>> os.getcwd()  # 返回当前所在的工作路径
'/Users/zhuanfou'
>>> os.listdir( './' )  # 将指定路径下的文件、文件夹的名称以列表形式返回
['zhuanfou.txt', 'test']
>>> os.chdir( './test' )  # 将工作路径修改到指定目录下
>>> os.system( 'ls' )  # 在终端执行指定的shell命令
test1.py
test2.py
test3.py

Mac或Ubuntu系统的终端输入ls命令,即可列出当前文件夹下所有文件或文件夹的名称。


shutil模块

shutil模块主要用于文件、文件夹的操作处理,比如文件复制、移动、重命名等功能。以上述图中的zhuanfou文件夹作为运行python交互运行的目录,如下所示:

>>> import shutil
>>> shutil.copyfile( "zhuanfou.txt", "zf.py" )  # 复制文件
>>> shutil.move( "./test/test1.py", "./t1.py" )  # 移动文件并改名

运行完毕后,上述文件目录则会如下图所示。


使用shutil模块进行文件复制、移动、重命名等操作,比直接使用os模块的system方法加上文件操作的相关shell命令更有好处的一点是:前者是跨操作系统的,python已经在shutil模块内部针对不同的操作系统进行了处理,而直接使用shell命令,则需要针对不同的操作系统进行相应处理。不过若是没有跨操作系统的需求,其实两种方法都可行。


系统交互

上一节 下一节