###############    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. UVA - 1631 Locker(密码锁)(dp---记忆化搜索)

    题意:有一个n(n<=1000)位密码锁,每位都是0~9,可以循环旋转.每次可以让1~3个相邻数字同时往上或者往下转一格.输入初始状态和终止状态(长度不超过1000),问最少要转几次. 分析: ...

  2. AD软件将PCB中的元器件旋转45度

  3. Android 心跳包心跳连接 如何实现android和服务器长连接呢?推送消息的原理

    前言:现在的大多数移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接受消息的被动权.例如:微信,QQ,天气预报等等,相信好处和用户体验相信大家都知道吧. 提出问题:这种功能必须涉及cl ...

  4. CTF密码学常见加密解密总结

    https://blog.csdn.net/qq_40837276/article/details/83080460

  5. winform 集成 log4net

    1.引入库log4net.dll 2.展开项目文件下的Properties文件夹,打开AssemblyInfo.cs并在AssemblyInfo.cs中添加一行:在AssemblyInfo.cs中添加 ...

  6. 教你如何使用JavaScript入门

    JavaScript简介   JavaScript是NetScape公司为Navigator浏览器开发的,是web前端卸载HTML文件中的一种脚本语言,能实现网页内容的交互显示.当用户在客户端显示该网 ...

  7. SQL基础教程(第2版)第2章 查询基础:练习题

    SELECT product_name, regist_date FROM Product WHERE regist_date > '2009-04-28'; ① ~ ③中的 SQL 语句都无法 ...

  8. 数据处理pandas

    1.缺失值时间戳不为NaN,为NaT, 同样判断都为isna()或notna()方法2.删值\去重 df.dropna() df.drop_duplicates() 3.上下值插值 df.fillna ...

  9. Bug(1)

    程序要求:内网之间客户端截屏(.bmp)并传送给服务端. server: #include <winsock2.h> // 为了使用Winsock API函数 #include <s ...

  10. request请求生命周期

    request请求生命周期 一.request请求分析 1.1. request数据请求 # views.py from rest_framework.views import APIView fro ...