文件读写

一、os模块

>>> os.getcwd() #获取当前路径
'C:\\Users\\xiu\\AppData\\Local\\Programs\\Python\\Python36-32'
>>> os.chdir('C:\\Users\\xiu\\AppData\\Local\\Programs\\Python') #改变路径
>>> os.getcwd()
'C:\\Users\\xiu\\AppData\\Local\\Programs\\Python'
>>> os.path.join('usr','bin','ttt') #拼接路径
'usr\\bin\\ttt'

#绝对路径和相对路径
1.绝对路径是从根文件开始
2.相对路径是从程序的当前工作目录算
点"." 这个目录
点点".."上级目录(父目录)

>>> os.makedirs('test')    #创建新文件
>>> os.chdir('D:\\study\\besttest\\test')
>>>
>>> os.path.abspath('.') #返回绝对路径
'D:\\study\\besttest\\test'
>>> os.path.abspath('.\\aa')
'D:\\study\\besttest\\test\\aa'
>>> os.path.isabs('.') #如果参数是一个绝对路径就返回True,否则返回false
False
>>> os.path.isabs(os.path.abspath('.'))
True

#os.path.relpath(path,start),返回从start到path的相对路径,如果没有提供start就从当前工作目录为开始路径
>>> os.path.relpath('D:\\study\\besttest','D:\\')
'study\\besttest'
>>> os.path.relpath('D:\\study\\besttest\\test\\aa','D:\\study\\besttest')
'test\\aa'
>>> path = 'D:\\aa\\bb\\cc\\dd\\ee.txt'    #返回一个字符,包含path参数中最后一个斜杠之前的所有内容
>>> os.path.basename(path)
'ee.txt'
>>> os.path.split(path) #同时返回一个路径的目录名称和基本名称,得到两个字符串的元组
('D:\\aa\\bb\\cc\\dd', 'ee.txt')
>>> 'D:\\aa\\bb\\cc\dd\\ee.txt'.split(os.path.sep) #文件夹分割斜杠
['D:', 'aa', 'bb', 'cc', 'dd', 'ee.txt']


#查看文件大小和文件内容
>>> os.listdir('D:\\study\\test\\') #返回文件名字符串的列表
['aa.txt', 'bb.txt', '测试环境服务器节点.xlsx']
>> > for filename in os.listdir('D:\\study\\test\\'):
totalsize = totalsize + os.path.getsize(os.path.join('D:\\study\\test\\', filename))
>> > print(totalsize)
24835
>>> os.path.getsize('D:\\study\\test\\测试环境服务器节点.xlsx') #统计文件大小
24805
>> > os.path.getsize('D:\\study\\test\\bb.txt')
30
>> > os.path.getsize('D:\\study\\test\\aa.txt')
0


#检查路径有效性
如果你提供的路径不存在,许多python函数就会崩溃报错。os.path模块提供了一些函数,用于检测给定的路径是否存在,以及他是文件还是文件夹

文件不存在则返回false存在返回true
>>> os.path.exists('D:\\study\\test\\aa1.txt')
False
>>> os.path.exists('D:\\study\\test\\aa.txt')
True
>>> os.path.isdir('D:\\study\\test\\aa.txt')
False
>>> os.path.isfile('D:\\study\\test\\aa.txt')
True





posted @ 2017-09-22 18:02  13684995613  阅读(156)  评论(0编辑  收藏  举报