您的位置:首页 > 编程语言 > Python开发

Python标准库04 文件管理 (部分os包,shutil包)

2013-01-30 12:04 281 查看
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

我们可以通过操作系统的命令来管理文件,如同我们在linux文件管理相关命令中看到的那样。另一方面,python标准库则允许我们在python内部管理文件。相同的目的,我们就有了两条不同的途径实现。在python内部实现的优势在于你可以同时利用python语言,并配合其他python工具,比如正则表达式工具。但操作系统同样可以通过shell编程,来整合linux文件管理命令,shell也拥有自己的正则表达式工具。python or shell?
这是留给用户的选择。本文中会尽量将两者相似的功能相对应。
同样,本文也是基于linux文件管理背景知识
(python并不是调用操作系统的命令来实现这些功能的。python独立地调用c标准库以及系统调用函数来实现。当然,在python中也可以调用操作系统的命令,我们会在以后介绍如何实现这一功能。)
1. os包:
os包包括各种各样的函数,以实现操作系统的许多功能。这个包非常庞杂。os包的一些命令就是用于文件管理。我们这里列出最常用的:
mkdir(path)
创建新目录,path为一个字符串,表示新目录的路径。相当于$mkdir命令
rmdir(path)
删除空的目录,path为一个字符串,表示想要删除的目录的路径。相当于$rmdir命令
listdir(path)
返回目录中所有文件。相当于$ls命令。

remove(path)
删除path指向的文件。
rename(src, dst)
重命名文件,src和dst为两个路径,分别表示重命名之前和之后的路径。

chmod(path, mode)
改变path指向的文件的权限。相当于$chmod命令。
chown(path, uid, gid)
改变path所指向文件的拥有者和拥有组。相当于$chown命令。
stat(path)
查看path所指向文件的附加信息,相当于$ls
-l命令。
symlink(src, dst)
为文件dst创建软链接,src为软链接文件的路径。相当于$ln
-s命令。

getcwd()

查询当前工作路径 (cwd, current working directory),相当于$pwd命令。

比如说我们要新建目录new:

import os
os.mkdir('/home/vamei/new')


2. shutil包
copy(src, dst)
复制文件,从src到dst。相当于$cp命令。
move(src, dst)
移动文件,从src到dst。相当于$mv命令。

比如我们想复制文件a.txt:

import shutil
shutil.copy('a.txt', 'b.txt')


关于本文中的各个命令的细节,请参照官方文档。os, shutil。实际上,结合本章以及之前的内容,我们已经可以把Python作为一个系统文件管理的利器使用了。

总结:
os包: rmdir, mkdir, listdir, remove, rename, chmod, chown, stat, symlink
shutil包: copy, move

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: