文件操作
open('文件名','r',encoding='utf-8')
:对文件进行读操作,文件不存在则报错;
open('文件名','w',encoding='utf-8')
: 对文件进行写操作,文件不存在则创建文件;
open('文件名','a',encoding='utf-8')
: 对文件进行追加操作,文件不存在则创建文件;
加入encoding=‘utf-8’是因为windows电脑默认为gbk编码,这样会不识别中文,所以要修改为’utf-8‘;而linux和ios系统默认为’utf-8’,所以不需要修改。
f=open('文件名','w',encoding='utf-8')
f.write('要写的内容')
先打开文件,然后为 'w’模式,然后进行写入,每次写入都是一个对文件的覆盖操作。
f=open('文件名','a',encoding='utf-8')
f.write('要写的内容')
先打开文件,然后为 'a’模式,然后进行写入,每次写入都是一个对文件的追加操作。
f=open('文件名','r',encoding='utf-8')
f.read(每次要读出的字符数量)
先打开文件,然后为 'r’模式,然后进行读数据(read),括号内为每次想要度的字符数量,返回的是字符串格式。
f=open('文件名','r',encoding='utf-8')
f.readline()
先打开文件,然后为 'r’模式,然后进行读数据(readline),此操作为读取一行,返回类型为字符串格式。
f=open('文件名','r',encoding='utf-8')
f.readlines(每次要读出的字符数量)
先打开文件,然后为 'r’模式,然后进行读数据(read),括号内为每次想要度的字符数量,返回的是列表格式。
oid_file=open('11.txt','r',encoding='utf-8')
new_file=open('11复件.txt','w',encoding='utf-8')
while True:
ret=old.read(1)
if ret:
new_file.write(ret)
else:
break
文件的备份操作,打开旧文件,创建新文件,进入死循环,一个字符的速度进行读取旧文件,并赋值给ret,当ret不为空时,便在新文件中写入ret中的值,为空时,说明已无字符,结束循环。
文件的光标:当文件不退出时,光标会停留在上次操作的位置;当文件退出时,光标会回到最初的位置。
文件的其他操作
import os # 进入模块
os.mkdir('文件夹名")
: 创建文件夹
os.getcwd()
: 获取当前目录列表
os.chdir('绝对目录'/'相对目录')
: 更改当前目录
os.listdir()
: 输出当前目录的所有文件列表
os.rmdir
(): 删除空文件夹
os.remove
: 删除文件
os.rename
: 对文件进行重命名
import shutil
shutil.rmtree # 删除整个文件夹(包含文件的)
文件的批量重命名操作
import os
os.mkdir('测试文件夹')
for i in range(1,11)
open('测试文件名%d'%i,'w') # 创建了10个文件,文件名为:测试文件名1,......测试文件名10
os.chdir('测试文件夹') # 进入含有文件的测试文件夹
my_list=os.listdir() # 获取当前所有文件名列表并赋值给变量 my_list,变量为列表类型
for old_name in my_list:
new_name = old_name.replace('测试文件名','修改文件名')
os.rename(old_name, new_name)
print(os.listdir) # 查看修改名字后的所有文件名
硬盘→内存,内存→硬盘
all_dict={}
if not os.path.exists('text.txt'):
f=open('text.txt','w',encoding='utf-8')
f.write({})
f.close()
f=open('text.txt','r',encoding='utf-8')
ret=f.read()
f.close()
all_dict=eval(ret) # 硬盘→内存
ret=str(all_list)
f=open('text.txt','w',encoding='utf-8')
f.write(ret)
f.close() # 内存→硬盘