python 操作文件和目录

Python 的os模块提供了调用操作系统的函数,使用前import os

 

os.name 查看操作系统的类型

os.uname 查看操作系统的详细信息,这个不适用于Windows

os.environ 获取环境变量

os.environ.get('key') 获取某个环境变量的值

 

os.path.abspath('.') 查看当前目录的绝对路径

os.path.join('path1', 'path2') 连接两个路径 path1\path2

os.mkdir(path) 创建一个路径

os.rmdir(path) 移除一个路径

os.path.split(''/Users/michael/testdir/file.txt'') 拆分成两个路径,后一部分是最后级别的路径或者文件名

('/Users/michael/testdir', 'file.txt')

os.path.splitext('path') 拆分成两个路径,后一部分是文件的扩展名
>>> os.path.splitext('/path/to/file.txt')
('/path/to/file', '.txt')

os.rename('') 重命名文件
os.remove('') 移除文件


最后看看如何利用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']

 

 

作业:列出某个目录及字目录下所有包含某个字符串的文件,给出相对路径

# _*_ coding:utf-8_*_
import os


def find_path(path):
for x in os.listdir(path):
i = os.path.join(path, x)
if os.path.isdir(i):
find_path(i)
if os.path.isfile(i) and os.path.splitext(x)[1] == '.java':
print(x)


find_path('D:\\Java')

posted on 2018-03-20 18:59  永恒自由森林  阅读(129)  评论(0编辑  收藏  举报

导航