一、OS
1、Python内置的os模块也可以直接调用操作系统提供的接口函数
2、Windows不提供
3、环境变量
4、某环境变量值
二、目录操作:
操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:
查看当前目录的绝对路径:
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.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
os.path.split('/Users/michael/testdir/file.txt')
('/Users/michael/testdir', 'file.txt')
os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便:
os.path.splitext('/path/to/file.txt')
('/path/to/file', '.txt')
四、文件操作使用下面的函数。假定当前目录下有一个test.txt文件:
对文件重命名:
os.rename('test.txt', 'test.py')
删掉文件:
os.remove('test.py')
五、shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充
六、利用Python的特性来过滤文件。比如我们要列出当前目录下的所有目录,只需要一行代码:
[x for x in os.listdir('.') if os.path.isdir(x)]
['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]
要列出所有的.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']
六、把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等
序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
Python提供了pickle模块来实现序列化