文件操作
文件操作包含:打开、关闭、读、写、复制......
文件操作的作用是:读取内容、写入内容、备份内容......
文件操作的作用就是把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,更加方便。
文件路径的表示有2两种方式:绝对路径和相对路径
例如:
绝对路径:C:\Python_Project\Pycharm\Day01文件操作.py
相对路径:./Day01文件操作.py
from collections.abc import Iterator,Iterable
f = open('./test/demo1.py',mode='r',encoding='utf-8')
print(f.read())
输出:
from collections.abc import Iterator,Iterable
f = open('../ttt/manage.py',mode='r',encoding='utf-8')
print(f.read())
输出:
以上就是通过在一个文件中调用另一个文件信息的过程,值得注意的是:【.】表示当前文件夹,【..】表示的是上级文件,这里的encoding=utf-8采用可变长度的编码方式,能够有效地表示各种字符,我们大多时候也用utf-8而不是采用gbk。
读取read,写入write,追加a
读取r
- r:只读文本,默认指针在开头,read之后,指针自动到最后
- rb:用于读取二进制数据,例如:图片、音频、视频等,指针在开头,用法和r类似
- r+:可以读写,指针默认在开头
写w
- w:用于写入,若文件存在,则先清空内容然后再编辑,若文件不存在,则新建文件在编辑,指针默认在开头
- wb:以二进制格式写入,用于图片、音频、视频等指针在开头,用法和w类似
- w+:用于读写,若文件存在,则先清空内容然后再编辑,若文件不存在,则新建文件在编辑,指针默认在开头
- wb+:以二进制格式读写,若文件存在,则先清空内容然后再编辑,若文件不存在,则新建文件在编辑,指针默认在开头
追加a
- a:用于原有内容后进行追加,若文件存在,则指针放在文件末尾进行追加内容,若文件不存在,新建文件进行写入
- ab:以二进制格式打开一个文件进行追加,用法和a类似
- a+:用于读写,若文件存在,指针则放在文件结尾,文件打开时将会是追加模式,若文件不存在,则创建新文件进行读写
- ab+:以二进制格式打开一个文件进行读写,用法和a+类似
r、w、a的区别与类似:r操作时,文件必须存在,w和a可以新建;文件存在时,w会先清空内容在进行操作,a是在原有内容后面进行操作,不会清空。
f = open('example2.py',mode='w',encoding='utf-8')
f.write('hello')
f.close()
输出:将会在example2.py中,先清空所有内容,然后打出hello,这里值得注意的是,最好养成在对文件进行操作之后,要有一个close()的过程,这样可以有效的保存操作的内容。
注意:w中不能用r,r中不能用w,a中不能用r
f = open('example2.py',mode='w+',encoding='utf-8')
f.write('python')
f.seek(2) #移动光标
print(f.read())
f.write('我爱python')
f.close()
输出结果:python我爱python
这里接着写入'我爱python',并没有清空前面的'python',那是因为之前的write操作之后,指针就在末尾处,也就是'python'后面,所以之后的操作都是对之后的内容进行的。
with open('./test/demo1.py',encoding='utf-8') as f1:
data = f1.read() #这个时候的data就是全局变量,可以任意使用的
with open('./test/demo1.py',encoding='utf-8') as f2:
f2.write(data) #单文件备份的操作
os.mkdir('新文件夹') #A.新建文件夹
os.rmdir('新文件夹') #删除文件夹,不能和A一起使用
os.remove('./test/demo1.py') #删除文件
os.mkdir('新文件夹') #A新建文件夹
os.rmdir('新文件夹') #删除文件夹,不能和A一起使用
os.remove('./test/demo1.py') #删除文件
os.rename('example2.py','test.py') #重命名文件,rename(Q,W),Q是目标表,W是重命名之后的名字
print(os.getcwd()) #当前文件所在位置
print(os.listdir()) #当前文件夹中所有文件