###############    python-简单的文件操作  ###############

# python中文件的操作
# 文件操作的基本套路
# 1,打开文件,默认是是只读方式打开文件
# 2,读写文件,默认是从文件的开始读取数据,也就是读取文件的所有内容
# 3,关闭文件,文件必须要关闭,否则会造成系统资源消耗,而且户影响后续会文件的访问 # 常用方法:
# open
# write
# read
# close
# readline,这个什么时候用, # 文件打开方式:
# 语法如下:open(文件名,读取方式)
# r,只读,这是默认打开方式
# w,只写,
# a,追加,
# r+,以读写方式打开,如果文件不存在,抛出异常
# w+,以读写方式打开,如果文件不存在,创建文件,
# a+,以读写方式打开,如果文件存在,指针放到文件末尾,如果文件不存在,创建文件, def read(file):
file=open(file,'r')
text=file.read()
print(text)
file.close() def write(file):
file=open(file,'w+')
file.write('12345')
file.close() def add(file):
file=open(file,'a+')
file.write('12345')
file.close() def write_big_text(file): # 读取大文件
# 打开
file = open(file, 'r')
# 读取
while True:
text=file.readline()
print(text,end='') # 读取每一行的末尾默认已经有了一个'\n' if not text:
break
# 关闭
file.close() def copy_file_small(file): # 小文件的复制
# 打开文件
file = open(file,'r')
file2 = open('text2.txt', 'w+')
# 读取,写入文件
text=file.read()
file2.write(text)
# 关闭文件
file.close()
file2.close() def copy_file_big(file): # 大文件的复制
# 打开文件
file = open(file,'r')
file2 = open('text3.txt', 'w+')
# 读取,写入文件
while True:
text=file.readline()
if not text:
break
file2.write(text)
# 关闭文件
file.close()
file2.close() # 使用open每次都要关闭,太麻烦,而且会影响文件的后续操作,所以最常用的还是使用with打开文件,这样就不用调用close方法了,
def open_with(file):
with open(file,'r') as f:
text=f.read()
print(text) file='./test.txt'
open_with(file)

使用try ... except来打开文件

def open_file(file):
try:
with open(file,'r') as f :
text=f.read()
print(text)
except FileNotFoundError:
print('文件不存在')
except Exception as result:
print('未知错误%s'%result) file = '123.txt'
open_file(file)

###############################################

简述with方法打开处理文件帮我我们做了什么?

打开文件在进行读写的时候可能会出现一些异常状况,如果按照常规的f.open
写法,我们需要try,except,finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件,with方法帮我们实现了finally中f.close

##############################################

python语法基础-文件操作-长期维护的更多相关文章

  1. python语法基础-异常操作-长期维护

    ###############    python-异常的操作  ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...

  2. python语法基础-常用模块-长期维护

    ###############      常用模块   ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...

  3. python语法基础-面向对象-进阶-长期维护

    ###############    @property定义属性    ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...

  4. python语法基础-函数-进阶-长期维护

    ###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...

  5. python语法基础-函数-递归函数-长期维护

    ###############    递归   ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是 ...

  6. python语法_文件操作

    牢记“”“能调用方法的一定是对象”“” 文件的操作流程, 1 建立文件(打开文件)open('filename','模式').read() [这一步其实就是创建对象] 2 通过句柄进行操作 3 关闭o ...

  7. 08、python的基础--->文件操作

    注:用btyes方式的一般都是在“非文字类的(比如图片)” 1.文件的读取 >>>第1种 #绝对路径 s = open('E:\天气.txt', mode='r', encoding ...

  8. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  9. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

随机推荐

  1. windows FTP上传

    TCHAR tcFileName[MAX_PATH * 4] = {L"visio2010永久安装密钥.txt"}; TCHAR tcName[MAX_PATH * 4] = {0 ...

  2. gabor滤波器

    https://blog.csdn.net/u013709270/article/details/49642397 https://github.com/xuewenyuan/Gabor_Visual ...

  3. pycharm 的 使用 设置智能目录 Pycharm 断点跳转及 Step Over/Step Into/Step Out 等的区别

    pycharm  右键点击文件夹  有个mark directiory as  根据需要给目录进行设置 Pycharm调试程序时,有时需要直接从第一个断点跳转至第二个断点,如果还是用单步调试的话就非常 ...

  4. python导出oracle中的表内容,并生成excel文件

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; ### 如果oracle表中有中文输出,为防止乱码,执行脚本前,需要先制定字符集: #!/usr/bin/pyth ...

  5. 前后端分离java、jwt项目进行CORS跨域、解决非简单请求跨域问题、兼容性问题

    情况描述: 最近在部署一个前后端分离的项目出现了跨域问题*, 项目使用jwt进行鉴权,需要前端请求发起携带TOKEN的请求*,请求所带的token无法成功发送给后端, 使用跨域后出现了兼容性问题:Ch ...

  6. csv文件——简单读操作01

    转载:https://www.py.cn/spider/advanced/14381.html import csv with open('C:\\Users\\del\\Desktop\\123.c ...

  7. IP首部检验和的计算和举例

    IP首部校验和 首部校验和(16位)字段只检验数据报的首部,不检验数据部分.这里不采用CRC检验码而采用简单的计算方法. 发送端 首先将检验和置零,求首部数据的补码和(包含检验和),因为为零,所以无影 ...

  8. centos6.5源码升级内核

    centos6.5源码升级内核 升级前 系统版本:  CentOS5.5 内核版本:  2.6.18-194.el5 升级前做过简单配置文件修改 yum -y upgrade    升级后 系统版本: ...

  9. 异常依然执行{try..catch语句块..}的后续代码

    测试异常依然执行{try..catch语句块..}的后续代码: private static Integer testThrows() throws Exception{ Integer result ...

  10. vue安装openlayers,jquery,bootstrap,阿里iconfont,

    安装 安装openlayers安装指定包安装openlayersVUE中的地图import ol from "openlayers";import "openlayers ...