Python——文件处理小结

来源:互联网 发布:mac pdf编辑 编辑:程序博客网 时间:2024/06/06 03:58

Python-基础-文件处理小结

添加:2017/07/24

使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try:  all_the_text = file_object.read( )finally:  file_object.close( )注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法

下列代码敲一遍试试

# -*- coding: utf-8 -*-#!/usr/bin/python"""Created on Mon Jul 17 17:51:48 2017@author: Administrator"""#打开文件,并且得到文件信息f = open("ex1.py", 'r')print(f.name)print(f.mode)print(f.encoding)print(f.close)#打开文件,关闭文件f = open('ex1.py')print(f.fileno())f.close()#打开文件,循环读取行f = open('ex1.py')for line in f:    line = line.strip()    print(line)f.close()#打开文件,一次性读入f= open('ex1.py')lines = [ line.strip() for line in f.readlines() ]print(lines)f.close()# 或者用with open 增加代码友好度# 上下文管理器 用with,等价与上面方法二,注意不用显式closewith open('ex1.py') as f:    for line in f:        line = line.strip()        print(line)with open('ex1.py') as f:    for line in f:        print(f.readlines())with open('ex1.py') as f:    print(f.readlines())# import osos.mkdir('py')                  #在当前目录下创建一个py目录,且只能创建一层os.rmdir( 'py')                 #在当前目录下删除py目录,且只能删除一层os.makedirs('py/aa')            #可创建多层目录os.removedirs('py/aa')          #可删除多层目录 # pickle 任意python对象和字符串之间的序列化 类似java序列化存储到文件的过程#-*- encoding:UTF-8 -*-import picklef = open('pickle.txt','wb+')text = ['this is a pickle demonstrate','aa','bb']pickle.dump(text,f)           #把text的内容序列化后保存到pickle.txt文件中f.close()f2 = open('pickle.txt','rb')  # 这里的rb必须加,因为你上边已经将文件转化成binarytextlist = pickle.load(f2)    #还原序列化字符串print (textlist)f2.close()#cpickle是用C写的pickle模块,比标准的pickle速度快很多,使用方法同pickle。


原创粉丝点击