pathon os包与路径

1.当前路径及路径下的文件 os.getcwd

os.getcwd():查看当前所在路径。
os.listdir(path):列举目录下的所有文件。返回的是列表类型。

>>> import os
>>> os.getcwd()
'D:\\pythontest\\ostest'
>>> os.listdir(os.getcwd())
['hello.py', 'test.txt']

在Python中可以使用os.walk()函数遍历目录。
其原型如下所示:
os.walk(path)
其参数path 为要遍历的目录,遍历path,返回一个对象,他的每个部分都是一个三元组 (‘目录x’,[目录x下的目录list],目录x下面的文件) 。

>>> a=os.walk('d:\\books')
>>> def fun():
        for i in a:
             print i
>>> fun()
('d:\\books', ['book'], ['aa.txt'])
('d:\\books\\book', [ ], [ ])
2.绝对路径 os.path.abspath

os.path.abspath(path): 返回path的绝对路径。

>>> os.path.abspath('.')
'D:\\pythontest\\ostest'
>>> os.path.abspath('..')
'D:\\pythontest'
3.查看路径的文件夹部分和文件名部分 os.path.split/join

os.path.split(path):将路径分解为(文件夹,文件名),返回的是元组类型。可以看出,若路径字符串最后一个字符是,则只有文件夹部分有值;若路径字符串中均无,则只有文件名部分有值。若路径字符串有\,且不在最后,则文件夹和文件名均有值。且返回的文件夹的结果不包含.

os.path.join(path1,path2,…):将path进行组合,若其中有绝对路径,则之前的path将被删除。

>>> os.path.split('D:\\pythontest\\ostest\\Hello.py')
('D:\\pythontest\\ostest', 'Hello.py')
>>> os.path.split('.')
('', '.')
>>> os.path.split('D:\\pythontest\\ostest\\')
('D:\\pythontest\\ostest', '')
>>> os.path.split('D:\\pythontest\\ostest')
('D:\\pythontest', 'ostest')
>>> os.path.join('D:\\pythontest', 'ostest')
'D:\\pythontest\\ostest'
>>> os.path.join('D:\\pythontest\\ostest', 'hello.py')
'D:\\pythontest\\ostest\\hello.py'
>>> os.path.join('D:\\pythontest\\b', 'D:\\pythontest\\a')
'D:\\pythontest\\a'

os.path.dirname(path):返回path中的文件夹部分,结果不包含’’

>>> os.path.dirname('D:\\pythontest\\ostest\\hello.py')
'D:\\pythontest\\ostest'
>>> os.path.dirname('.')
''
>>> os.path.dirname('D:\\pythontest\\ostest\\')
'D:\\pythontest\\ostest'
>>> os.path.dirname('D:\\pythontest\\ostest')
'D:\\pythontest'
4.查看文件时间 os.path.getmtime

os.path.getmtime(path):文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
os.path.getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.path.getctime(path):文件或文件夹的创建时间,从新纪元到访问时的秒数。

>>> os.path.getmtime('D:\\pythontest\\ostest\\hello.py')
1481695651.857048
>>> os.path.getatime('D:\\pythontest\\ostest\\hello.py')
1481687717.8506615
>>> os.path.getctime('D:\\pythontest\\ostest\\hello.py')
1481687717.8506615
5.查看文件大小 os.path.getsize

os.path.getsize(path):文件或文件夹的大小,若是文件夹返回0。

>>> os.path.getsize('D:\\pythontest\\ostest\\hello.py')
58L
>>> os.path.getsize('D:\\pythontest\\ostest')
0L
6.查看文件是否存在 os.path.exists

os.path.exists(path):文件或文件夹是否存在,返回True 或 False。

>>> os.listdir(os.getcwd())
['hello.py', 'test.txt']
>>> os.path.exists('D:\\pythontest\\ostest\\hello.py')
True
>>> os.path.exists('D:\\pythontest\\ostest\\Hello.py')
True
>>> os.path.exists('D:\\pythontest\\ostest\\Hello1.py')
False
7.一些表现形式参数

os中定义了一组文件、路径在不同操作系统中的表现形式参数,如:

>>> os.sep
'\\'
>>> os.extsep
'.'
>>> os.pathsep
';'
>>> os.linesep
'\r\n'
8. 创建与删除目录,文件

os.mkdir() 创建目录(创建一级目录)
os.mkdir(path) path 为要创建目录的路径

os.makedirs() 创建多级目录
os.makedirs(path)

os.rmdir() 删除目录
os.rmdir(path)

os.removedirs() 删除多级目录
os.removdirs(path)

删除文件:
os.remov(path)
参数path 为要删除的文件的路径

>>> import os
>>> os.path.abspath('.')
'/Users/bande'

# 创建一级目录
>>> os.mkdir('d:\hello') 
>>> os.mkdir('a_test')   # mac

# 创建多级目录
>>> os.makedirs('d:\\books\\book')
>>> os.makedirs('books_test\\book')  # mac

# 删除一级目录
>>> os.rmdir('d:\hmm') 
>>> os.rmdir('a_test') # mac
>>> os.path.exists('a_test') # False

# 删除多级目录
>>> os.removedirs('d:\\books\\book')
>>> os.removedirs('books_test\\book') # mac

# 删除文件
>>> os.remove('d:\\books\\book\\book.txt')
>>> os.remove('books_test\\book.txt') # mac
9.判断路径是否为目录/文件

在Python中可以使用os.path.isdir()函数判断某一路径是否为目录。
其函数原型如下所示:
os.path.isdir(path)
其参数 path为 要进行判断的路径。如果是则返回TRUE,否则返回FALSE。

在Python中可以使用os.path.isfile()函数判断某一路径是否为文件。其函数原型如下所示。
os.path.isfile(path)
其参数path为要进行判断的路径。如果是则返回TRUE,否则返回FALSE。

关于lambda的用法(python中单行的最小函数)
key=lambda fn:os.path.getmtime(test_dir+'\\'+fn)
#相当于
def key(fn):
    return os.path.getmtime(test_dir+'\\'+fn)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值