文件读写

一、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\ccdd\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





原文地址:https://www.cnblogs.com/ermm/p/7574277.html