###############    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. 遍历数组提取List[Int]

    def toFlatMap(input:List[Any],result:List[Int]):List[Int]=input match{ case h::t=>h match {case e ...

  2. git 一些操作

    1. 代码相关 克隆代码 git clone xxx.git 拉取代码 git pull 查看 修改的 状态 git status 推送代码 git push add 或者 修改代码之后 回滚到 未修 ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习: 错误 - throw、try 和 catch

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Dijkstra与Floyd算法

    1. Dijkstra算法 1.1 定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点 ...

  5. C语言-数组的深入学习

    深入学习一下数组1.从内存角度来讲:数组变量就是一次分配多个变量,而且这些变量的地址是连续的,也就是存放这些变量的存储单元是依次相连接的.而且这多个变量必须单独访问,不可以一起访问的.因为他们的地址彼 ...

  6. 系统 win 10 专业版 下载地址

    thunder://QUFodHRwOi8veHoyLjgxMDg0MC5jb20vY25fd2luZG93c18xMF9jb25zdW1lcl9lZGl0aW9uc192ZXJzaW9uXzE4MD ...

  7. Spring Cloud Alibaba 教程 | Nacos(六)

    集群模式部署 前面我们已经学习了Nacos作为注册中心.配置中心的相关功能,但是我们之前启动Nacos是通过单实例模式启动的,只适合在学习和开发阶段,生产环境需要保证Nacos的高可用,所以今天我们来 ...

  8. 基于迅为-i.MX6Q开发板制作镜像方法

    在“/home/imx6”目录(在前面编译 android 系统的时候新建过这个目录,如果没有可以自己新建一个)下,使用命令“mkdir minilinux/”新建 minilinux 目录,使用命令 ...

  9. NFS 文件共享

    备注:NFS 文件共享需设置两部分:服务端和客户端 一.服务端设置 1.1.查看nfs包是否安装,未安装则重新安装 [root@localhost ~]# rpm -qa|grep rpcbind r ...

  10. PAT Basic 1075 链表元素分类(25) [链表]

    题目 给定⼀个单链表,请编写程序将链表元素进⾏分类排列,使得所有负值元素都排在⾮负值元素的前⾯,⽽[0, K]区间内的元素都排在⼤于K的元素前⾯.但每⼀类内部元素的顺序是不能改变的.例如:给定链表为 ...