#文件的操作
'''
#文件写入
#1.创建文件(创建文件,并且写入硬盘)
fp = open('03.txt','w')
print(fp,type(fp))
#2.向文件中添加内容
fp.write('你好')
#3.关闭文件
fp.close()
'''
#文件读取
#1.打开文件
#fp = open('03.txt','r')
#2.读取文件
#print(fp.read())
#3.关闭文件
#fp.close()
'''
open('文件路径,','打开模式')
#基础模式(必须有一个)
w write 写入模式
文件不存在则新建文件,文件已存在则打开并清空文件,文件指针放在文件的开头
r read 读取模式
文件不存在则新建文件,文件已存在则打开文件,指针放在文件的开头
a append 追加模式
文件不存在则新建文件,文集已存在则打开文件,指针放在文件的末尾
x xor 抑或模式
文件不存在则新建文件,文件已存在则报错,指针放在文件的开头
#扩展模式
+
b
'''
#w模式 写入模式
#fp = open('/home/wangtianbao/test01.txt','w')
#fp.write('这只是一个测试')
#fp.close()
#r模式 读入模式
'''
fp = open('/home/wangtianbao/test01.txt','r')
print(fp.read())
fp.close()
'''
#a追加模式
'''
fp = open('tese01.txt','a')
fp.write('hahfha')
fp.close()
'''
#x模式
'''
fp = open('test02.txt','x')
fp.write('zfsafasf')
fp.close()
'''
#b 模式
'''
fp = open('test02.txt','r+')
print(fp.read())
fp.write('惹上你真是个麻烦')
fp.close()
'''
'''
fp = open('test02.txt','a+')
fp.seek(0)
print(fp.read())
fp.close()
'''
#b 模式
'''
fp = open('test03.txt','wb')
fp.write('宇文成都'.encode()) #.encode() 编码
fp.close()
'''
'''
fp = open('test03.txt','rb')
print(fp.read().decode()) #.decode() 解码
fp.close()
'''
#truncate() 文件截取函数
fp = open('test03.txt','r+')
#截取操作的单位是字节,而不是字符
fp.truncate(6)
print(fp.read())
fp.close()
#文件指针操作
fp = open('test02.txt','r')
#调整指针的位置
fp.seek(9)
#查看指针的位置
print(fp.tell())
print(fp.read(2))
print(fp.tell())
fp.close()
#os模块中的值
import os
#getcwd() 获取当前工作目录 默认是当前文件所在的文件
result = os.getcwd()
print(result)
#chdir() 修改工作目录
#os.chdir('/home/wangtianbao')
#result = os.getcwd()
#print(result)
#listdir() 获取制定文件夹中所有内容的名称的列表
result = os.listdir('/home/wangtianbao/PycharmProjects/py07/11')
print(result)
#mkdir() 创建文件夹
#os.mkdir('/home/wangtianbao/aaa')#默认创建所有权限的文件夹
#os.mkdir('/home/wangtianbao/aab',444)
#rmdir() 删除空目录
#os.rmdir('/home/wangtianbao/aaa')
#makedirs()递归的创建文件夹
#os.makedirs('/home/wangtianbao/a/b')
#removedirs()递归删除空文件夹
#os.removedirs('/home/wangtianbao/a/b')
#rename() 修改文件或者文件夹的名称
#os.rename('test01.txt','test02.txt')
#os.rename('/home/wantianbao/a','/home/wangtianbao/aa')
#stat() 获取文件信息函数
#result = os.stat('test02.txt')
#print(result)
#system() 在python中执行系统命令
#os.system('ls')
#getenv() 获取当前环境变量信息
#result = os.getenv('PATH')
#print(result.split(':'))
#将lyb的文件加入环境变量
#putenv() 临时设置当前文件运行时后的环境变量
#os.putenv('PATH','/home/wangtianbao')
#测试命令 cs
#os.system('cs')
#curdir 获取当前路径 .表示当前文件夹
print(os.curdir)
#pardir 表示上级路径 ..表示上一层文件夹
print(os.pardir)
#当前目录/home/wangtianbao/PycharmProjects/py07/12
#/home/conghao/abc/05.txt 对的!
#open('../../../abc/05.txt', 'w')
#name 获取系统标识 linux,mac ->posix windows nt
print(os.name)
#sep 获取路径分割符号 linux,mac -> / windows \
print(os.sep)
#extsep 获取文件后缀分割符号
print(os.extsep)
#linesep 获取系统的换行符号 linux \n windows \s\n
print(repr(os.linesep))
#获取所有环境变量信息
print(os.environ)
#访问PATH信息
print(os.environ['PATH'])
#向环境变量中添加数据
#os.environ['PATH']+=':/home/wangtianabo'
#abspath() 将相对路径转换为绝对路径
path = '../../../06.txt'
result = os.path.abspath(path)
print(result)
#basename() 获取完整路径的主体部分(路径的最后内容)
#dirname() 获取完整路径中的路径部分
path = 'home/wangtianbao/我和你.txt'
result = os.path.basename(path)
print(result)
result =os.path.dirname(path)
print(result)
#split()将一个完整路径拆分为主体和路径两个部分组成的元素
path = '/home/wangtianbao/aaa.txt'
result = os.path.split(path)
print(result)
#join()将两个路径进行合并
path1 = '/home/lyb'
path2 = 'pyjy/aaa.txt'
result = os.path.join(path1,path2)
print(result)
#splitext()将路径分割为后缀部分和其他部分
path = '/home/aaaa.txt'
result = os.path.splitext(path)
print(result)
#getsize() 获取文件的大小
path = '/home/wangtianbaoPycharmProjects/py07'
result = os.path.getsize(path)
print(result)
#isdir() 检测路径是否是一个文件夹
#isfile() 检测路径是否是一个文件
#islink() 检测路径是否是一个链接
path = '/vmlinz'
result = os.path.isdir(path)
result = os.path.isfile(path)
print(result)
result = os.path.islink(path)
print(result)
#统计文件大小的函数
import os
def getdirsize(dirpath):
size = 0
allname = os.listdir(dirpath)
for name in allname:
fullname = os.path.join(dirpath,name)
if os.path.isdir(fullname):
size += getdirsize(fullname)
elif os.path.isfile(fullname):
size += os.path.getsize(fullname)
elif os.path.islink(fullname):
size += os.path.getsize(fullname)
return size
result = getdirsize('/home/wangtianbao')
print(result)
Python学习交流、资源共享群:563626388 QQ
python基础(10)——文件操作,os模块
最新推荐文章于 2024-03-07 11:07:32 发布