python3(三十五)file read write
""" 文件读写 """
__author__on__ = 'shaozhiqi 2019/9/23' # !/usr/bin/env python3
# -*- coding: utf-8 -*- # 读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符
f = open('D:/temp/shao.txt', 'r', encoding='UTF-8')
print(f.read())
f.close()
# 执行结果
# 1.ashahh
# 2.343erer
# 文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的 # ----------------------------------------------------------
# 反之文件不存在的异常
try:
f = open('D:/temp/shao.txt', 'r', encoding='UTF-8')
print(f.read())
finally:
if f:
f.close() # -----------------------------------------------------------
# 简化上述方法
# 这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。
with open('D:/temp/shao.txt', 'r', encoding='UTF-8') as f:
print(f.read()) # 调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,
# 所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。
# 另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
# 因此,要根据需要决定怎么调用。 # 如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;
# 如果是配置文件,调用readlines()最方便:
f = open('D:/temp/shao.txt', 'r', encoding='UTF-8')
for line in f.readlines():
print(line.strip()) # 把末尾的'\n'删掉 # ---------------------------------------------------------------------------
# 二进制文件读取比如图片、视频等。用'rb'模式打开文件即可 fpic = open('D:/temp/截图.PNG', 'rb')
print(fpic.read())
fpic.close()
# b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\x15\x00\x00\x00| # ---------------------------------------------------------------------------------
# UnicodeDecodeError异常除了设置编码外,还可以设置忽略
ff = open('D:/temp/shao.txt', 'r', errors='ignore')
print(ff.read())
ff.close()
# ----------------------------------------------------------------------------------------------------------------------
# 写文件
ffw = open('D:/temp/shao.txt', 'w', errors='ignore')
ffw.write('add hello world ')
ffw.close() # 查看是否写入成功
ff = open('D:/temp/shao.txt', 'r', errors='ignore')
print(ff.read())
ff.close() # 1.ashahh
# 2.343erer
# add hello world
python3(三十五)file read write的更多相关文章
- JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...
- Gradle 1.12用户指南翻译——第三十五章. Sonar 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关
开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...
- NeHe OpenGL教程 第三十五课:播放AVI
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Java进阶(三十五)java int与integer的区别
Java进阶(三十五)java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象 ...
- “全栈2019”Java多线程第三十五章:如何获取线程被等待的时间?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- Python进阶(三十五)-Fiddler命令行和HTTP断点调试
Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的se ...
随机推荐
- iOS 原生库(AVFoundation)实现二维码扫描,封装的工具类,不依赖第三方库,可高度自定义扫描动画及界面(Swift 4.0)
Create QRScanner.swift file // // QRScanner.swift // NativeQR // // Created by Harvey on 2017/10/24. ...
- jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(二)
一张网图 因为我们使用了Docker in Docker技术,就是把jenkins部署在k8s里.jenkins master会动态创建slave pod,使用slave pod运行代码克隆,项目构建 ...
- echar图柱状图和折线图混合加双侧y轴坐
代码如下: floorSalesBar(){//方法名====这个方法应该放在methods中并在mounted中调用哦 methods let _this = this; let myChart = ...
- Python-文件操作-之优化购物车
#此次购物车优化,主要使用了文件操作的相关方法,有买家入口,和商家入口 一.买家入口 1.买家第一次启动程序输入金额,金额会记录到文件里,再登录就读取文件里保存的金额,买家可以购买商品,按 ‘q’ 退 ...
- AdFind
C++实现(未开源),用于查询域内信息 http://www.joeware.net/freetools/tools/adfind/index.htm 常用命令如下: 列出域控制器名称: AdFind ...
- Consider defining a bean named 'authenticator' in your configuration.
SpringBoot整合Shiro时出错: 异常日志: o.s.b.d.LoggingFailureAnalysisReporter: *************************** APPL ...
- 第八周Java实验作业
实验六 接口的定义与使用 实验时间 2018-10-18 1.实验目的与要求 (1) 掌握接口定义方法: 声明: public interface 接口名 {...} 接口体中包含常量定义和方法定义 ...
- 使用TensorFlow v2.0构建多层感知器
使用TensorFlow v2.0构建一个两层隐藏层完全连接的神经网络(多层感知器). 这个例子使用低级方法来更好地理解构建神经网络和训练过程背后的所有机制. 神经网络概述 MNIST 数据集概述 此 ...
- 热点 | 四月最佳Github项目库与最有趣Reddit热点讨论
来源:Analytics Vidhya 编译:磐石 [磐创AI导读]:Github是全球最大的开源代码社区,Reddit是最受大家欢迎的热点讨论交流平台.接下来磐创AI将为大家带来四月份Github最 ...
- CSS3过渡结束监听事件,清除/修改表单元素的一些默认样式
document.querySelector('div').addEventListener('transitionEnd',function(){ console.log('过度结束') }) 如果 ...