[2015.2.11] 操作文件和目录

来源:互联网 发布:智能家庭解决方案知乎 编辑:程序博客网 时间:2024/06/05 20:02

如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dircp等命令。

如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。

打开Python交互式命令行,我们来看看如何使用os模块的基本功能:

>>> import os>>> os.name # 操作系统名字'posix'

如果是posix,说明系统是LinuxUnixMac OS X,如果是nt,就是Windows系统。

要获取详细的系统信息,可以调用uname()函数:

>>> os.uname()('Darwin', 'iMac.local', '13.3.0', 'Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64', 'x86_64')
注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的

环境变量

在操作系统中定义的环境变量,全部保存在os.environ这个dict中,可以直接查看:

要获取某个环境变量的值,可以调用os.getenv()函数

操作文件

# 查看当前目录的绝对路径:>>> os.path.abspath('.')'/Users/michael'# 在某个目录下创建一个新目录,# 首先把新目录的完整路径表示出来:>>> os.path.join('/Users/michael', 'testdir')'/Users/michael/testdir'# 然后创建一个目录:>>> os.mkdir('/Users/michael/testdir')# 删掉一个目录:>>> os.rmdir('/Users/michael/testdir')

os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便

列出所有的.py文件,也只需一行代码:

>>> [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']['apis.py', 'config.py', 'models.py', 'pymonitor.py', 'test_db.py', 'urls.py', 'wsgiapp.py']


0 0
原创粉丝点击