- f = open( ' E:\\file.txt ' )
- f.close()
- f.read(size=-1) 读取size个字符,为负值时(默认-1)读取全部
- f.tell() 返回当前在文件中位置
- f.seek(offset, from) offset偏移量,from值0为起始,1为当前,2为末尾
- f.readline()
- for each_line in f: 当作列表读取元素即是每行内容
- f.write(str) 写入字符串
- f.writelines(seq) 写入字符串序列
- .py文件和打开文件在同一目录可以不写路径
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, 'w')
girl_file = open(file_name_girll, 'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
def split_file(file_name):
f = open(file_name)
boy = []
girl = []
count = 1
for each_line in f:
if each_line[:6] != '======':
(role, line_spoken) = each_line.split(':', 1)
if role == 'A':
boy.append(line_spoken)
if role == 'B':
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')
- os模块
- getcwd() 返回当前工作目录
- chdir(path) 改变工作目录,路径为字符串
- listdir(path='.') 列举指定目录中的文件名
- '.'当前目录 os.curdir
- '..'上一级目录 os.pardir
- mkdir(path) 创建单层目录
- makedirs(path) 创建多层目录
- remove(path) 删除文件
- rmdir() 删除单层目录,只能删除空目录
- removedirs() 删除多层目录
- os.sep 路径分隔符 Win为'\\' Linus为'/'
- os.linesep 行终止符 Win为'\r\n' Linus为'\n'
- os.path模块
- basename() 去掉路径,返回文件名
- dirname() 去掉文件名,返回路径
- join() 合成新路径
- split() 分割文件名与路径
- splitext() 分割文件名与扩展名
- pickle模块
- pickle_file = open('my_list.pkl', 'wb')
- pickle.dump(my_list, pickle_file)
- pickle_file.close()
- pickle_file = open('my_list.pkl', 'rb')
- my_list2 = pickle.load(pickle_file)
- 异常处理
- try:
- 检测范围
- except Exception[as reason]:
- 出现异常后的处理代码
- finally:
- 无论如何都会被执行的代码
try:
f = open('file.txt')
print(f.read())
except OSError as reason:
print('文件出错' + str(reason))
finally:
f.close()
- 引发异常
- raise ZeroDivisionError('除数为零的异常')
- while: else:
- try: except: else:
- with open ('file.txt', 'w') as f :
- 自动关闭文件