文件与文件系统

这篇博客介绍了Python中常见的文件打开模式,如只读、只写、追加和二进制模式,并展示了如何读写文件,包括读取特定数量的字符、读取整行、读取所有行。此外,还讲解了文件对象的方法,如`read()`, `write()`, `seek()`和`flush()`。同时,博主探讨了目录操作,如获取当前工作目录、列出目录内容、创建和删除目录。最后,提到了文件编码格式和遍历文件夹的方法。
摘要由CSDN通过智能技术生成

常见的文件打开模式

# 学习人员:贾其豪
# 开发时间:2021/2/6 17:27
'''
文件的类型
按文件中数据的组织形式,文件分为以下几类
    文本文件:存储的是普通“字符”文本,默认为Unicode字符集,可以使用记事本程序打开
    二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开,
    举例:mp3音频文件,jpg图片,doc文档等
打开模式
    r 以只读模式打开文件,文件的指针会放在文件开头
    w 以只写模式打开文件,如果文件不存在就创建,如果存在就覆盖,文件指针在文件开头
    a 以追加模式打开文件,如果文件不存在就创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在原文件末尾
    b 以二进制方式打开文件,不能单独使用,需要与共他模式一起使用,rb或wb
    + 以读写方式打开文件,不能单独使用,需要与其他模式一起使用 a+
'''

src_file=open('picture.jpg','rb')

target_file=open('copy_picture.png','wb')

target_file.write(src_file.read())

target_file.close()
src_file.close()

文件对象的常用方法

# 学习人员:贾其豪
# 开发时间:2021/2/6 18:26
file=open('a.txt','r')
#print(file.read(2)) #读取两个字符

#print(file.readline()) #从文本文档读取一行内容
#print(file.readlines()) #每行单独读取
file.close()
#写入

file=open('a.txt','a')
file.write('hello')
file.close()

file=open('a.txt','r')
file.seek(2) #从第二个字符开始读取
print(file.read())
print(file.tell()) #字节
file.close()

file=open('b.txt','a')
file.write('hello')
file.flush() #把缓冲区的内容写入文件,但不关闭文件
file.write('world')
file.close() #把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

文件的读写原理

# 学习人员:贾其豪
# 开发时间:2021/2/6 16:24
file=open('a.txt','r')
print(file.readlines())
file.close()

#file=open('b.txt','w')

目录操作

# 学习人员:贾其豪
# 开发时间:2021/2/6 19:00
'''os模块是python 内置的与操作系统功能和文件系统相关的模块,
该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,
得到的结果可能不一样
os模块与os.path模块用于对目录或文件进行操作'''
#os模块与操作系统相关的一个模块
#import os
#os.system('notepad.exe')
#print(os.name)
#os.system("D:\Google\Chrome\Application\chrome.exe")
#os.startfile("D:\Google\Chrome\Application\chrome.exe")


#操作目录的相关函数
import os
print(os.getcwd()) #返回当前的工作目录

lst=os.listdir('../第十五章')  #..退到上上级目录
print(lst)   #返回指定路径下的文件和目录信息

#os.mkdir('skr') #创建目录

#os.makedirs('A/B/C') #创建多级目录
#os.makedirs('skr/D')

#os.rmdir() #删除目录
#os.removedirs('A/B/C') #移除多级目录

#os.chdir() #将path设置为当前的工作目录

编码格式介绍

#encoding=gbk
# 学习人员:贾其豪
# 开发时间:2021/2/6 16:02
print('你好,中国') #默认编码格式UTF-8

#在开头加#encoding=gbk 可以将编码格式改变

遍历文件夹

# 学习人员:贾其豪
# 开发时间:2021/2/6 20:06
import os
path=os.getcwd()
lst_files=os.walk(path)
for dirpath,dirname,filename in lst_files:
    '''print(dirpath)
    print(dirname)
    print(filename)
    print('------------------------------------')'''
    for dir in dirname:
        print(os.path.join(dirpath,dir))
    for file in filename:
        print(os.path.join(dirpath,file))
    print('------------------------------------')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值