一、文件
- 利用open()函数打开文件,第一个参数为文件名(带路径)
要记得关闭文件!f.close() 或者使用with函数,with open(‘py1.txt’) as f: 在文件没有被调用时,会自动关闭文件
f = open('C:\\Users\\王\Desktop\\py1.txt')
>>><_io.TextIOWrapper name='C:\\Users\\王\\Desktop\\py1.txt' mode='r' encoding='cp936'>
open()函数的参数
在打开文件时,要利用转义符号
-
文件的打开方式 -
文件对象的方法
新建一个文件并写入内容
def file_write(file_name):
f = open(file_name, 'w')
print('请输入内容【单独输入\':w\'保存退出】:')
while True:
write_some = input()
if write_some != ':w':
f.write('%s\n' % write_some)
else:
break
f.close()
file_name = input('请输入文件名:')
file_write(file_name)
二、os模块
os 模块提供了非常丰富的方法用来处理文件和目录。
常用os函数 | 其作用 |
---|
os.chdir() | 切换工作目录,相当于cd的命令 | os.listdir() | 列出某目录下所有的目录和文件 | os.path.getsize(name) | 获取文件大小,以字节为单位 | os.getcwd() | 获取当前工作目录,即当前python脚本工作路径。 | os.path.split() | 获取一个列表,list[0]是路径,list[1]是文件名 | os.path.splitext() | 获取文件名和扩展名[0]为文件名,[1]为拓展名 | op.isdir(path) | 判断path所对应是否为已存在的目录(即是否为文件夹) |
详情在这
三、永久存储(pickle模块)
-
pickle的实质就是利用一些算法将你的数据对象“腌制”成二进制文件,存储在磁盘上,当然也可以放在数据库或者通过网络传输到另一台计算机上. -
pickle存储数据的方法 pickle.dump(data, file) # 第一个参数是待存储的数据对象,第二个参数是目标存储的文件对象,注意要先使用’wb’的模式open文件哦^ _ ^ -
pickle读取数据的方法 pickle.load(file) # 参数是目标存储的文件对象,注意要先使用’rb’的模式open文件哦^ - ^
将一个文件按照要求分成不同的文件并永久存储
import pickle
def save_file(boy, girl, count):
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
boy_file = open(file_name_boy, 'wb')
girl_file = open(file_name_girl, 'wb')
pickle.dump(boy, boy_file)
pickle.dump(girl, girl_file)
boy_file.close()
girl_file.close()
def split_file(file_name):
count = 1
boy = []
girl = []
f = open(file_name)
for each_line in f:
if each_line[:6] != '======':
(role, line_spoken) = each_line.split(':', 1)
if role == '小甲鱼':
boy.append(line_spoken)
if role == '小客服':
girl.append(line_spoken)
else:
save_file(boy, girl, count)
boy = []
girl = []
count += 1
save_file(boy, girl, count)
f.close()
split_file('record.txt')
|