您的位置:首页 > 编程语言 > Python开发

python基础(10)——文件操作,os模块

2018-01-07 18:35 846 查看
#文件的操作
'''
#文件写入
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: