python基础【第十篇】
Python文件操作
1.常规格式
f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
# 例如
f = open(file="D:/Python_pro/s_27/day05/test.py",mode="r",encoding="utf-8")
# 简写
f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")
注意:文件路径会出现转义现象
可以修改为
f = open("D:\\Python_pro\\s_27/day05\\test.py","r",encoding="utf-8")
或者
f = open(r"D:\Python_pro\s_27/day05\test.py","r",encoding="utf-8")
建议使用
f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")
2.文件操作的三部曲
- 打开文件
- 对文件进行操作
- 关闭文件
# 三步格式
f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
f.read() 或 f.readline() 或 f.readlines() 或 f.write() 或 f.seek() 或 f.tell()
f.close()
自己有时候会忘记关闭文件,所以想要让其自动关闭因此可以写成如下的格式
# 自动关闭文件
可以同时打开多个文件
with open("ddd.txt","r",encoding="utf-8")as f,\
open("aaa.txt","r",encoding="utf-8")as f1:
print(f.read())
print(f1.read())
3.文件的操作模式与方法
# 读
mode = "r" # 只读
mode = "r+" # 读写
mode = "rb" # 读字节
f.read() #一次性读全部,容易造成内存溢出
f.readline() #一行一行的读
f.readlines() #一行一行的读并把结果加入列表
---------------------------------------------
# 写
mode = "w" # 清空写
mode = "w+" # 写读
mode = "a" # 追加写
mode = "a+" # 追加写读
mode = "wb"或"ab" #写字节
f.write() # 将字符串写入文件
---------------------------------------------
# 其他操作
f.seek() #移动光标
f.seek(0,0) # 将光标移动文件开头
f.seek(0,1) # 将光标移动到当前位置
f.seek(0,2) # 将光标移动文件末尾
f.seek(3) # 按照字节移动
# 查看光标位置
f.tell() # 按照字节查看,返回的是字节
4.文件操作常见错误
1.运行的文件和要打开的文件不是同一个文件夹下 通过路径
2.要打开的文件名和open里的名字不一致
3.使用word,记事本等软件造成的未知错误 不建议使用这种方式创建文件
5.文件内容的修改与备份示例
with open("原文件.txt","r",encoding="utf-8") as f, \
open("新建文件.txt","w",encoding="utf-8") as f1:
for line in f:
new_i = line.replace("要修改的旧内容","修改的新内容")
f1.write(new_i)
print("修改完成")
import os
os.rename("原文件.txt", "备份文件.txt")
os.rename("新建文件.txt", "原文件.txt")
python基础【第十篇】的更多相关文章
- python基础-第十篇-10.1HTML基础
htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片.链接,甚至音乐,程序等非文字元素 标记语言:标记(标签)构成的语言 网页==HTML文档,由 ...
- python基础-第十篇-10.2CSS基础
CSS是Cascading Style Sheet的简称,中文为层叠样式表 属性和属性值用冒号隔开,以分号结尾 引入方式 行内式--在标签的style属性中设定CSS样式 <body> & ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- Python基础【第一篇】
一.Python简介 Python的创始人(Guido von Rossum 荷兰人),Guido希望有一种语言既能像C一样方便地调用操作系统的功能接口,也能像shell脚本一样,轻松地实现编程,A ...
- python基础-第六篇-6.2模块
python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- Python基础(十)re模块
Python基础阶段快到一段落,下面会陆续来介绍python面向对象的编程,今天主要是补充几个知识点,下面开始今天的内容. 一.反射 反射的作用就是列出对象的所有属性和方法,反射就是告诉我们,这个对象 ...
- python基础知识第一篇(认识Python)
开发语言: 高级语言:python java php c++ 生成的字节码 字节码转换为机器码 计算机识别运行 低级语言:C 汇编 生成的机器码 PHP语言:适用于网页,局限性 Python,Java ...
- Python基础(十六):文件读写,靠这一篇就够了!
文件读写的流程 类比windows中手动操作txt文档,说明python中如何操作txt文件? 什么是文件的内存对象(文件句柄)? 演示怎么读取文件 ① 演示如下 f = open(r"D: ...
随机推荐
- TP框架实现文件的下载(主要解决文件存在中文文件名的问题)
namespace Home\Controller; use Think\Controller; use Org\Net\Http; class IndexController extends Con ...
- MySQL Workbench无法显示左侧的navigator,只显示Object info和Session
问题描述:Mac版MySQL Workbench出现异常强制退出后,再次进入后左侧的navigator消失,左侧整个导航条消失了,只显示Object info和Session. 问题根源:MySQL ...
- python基础----找零问题
给定要找回的总钱数和硬币的种类,求出找零所需最少的硬币数目. 例如: 总钱数63,硬币种类为25.21.10.5.1,求出最小硬币数 分析: 我们可以先假设只有一种硬币1, 假如总钱数为1,硬币数就为 ...
- how to prevent lowmemorykiller from killing processes
Hi there, I've upgraded a number of test systems to the latest Saucy beta. I've seen quite a few cas ...
- 用u盘和iso镜像文件装win8.1系统
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xyl295528322/article/details/37910939 原料: 1.老毛桃U盘启动 ...
- 怎么避免从删库到跑路 -- 详解 mysql binlog 的配置与使用
1. 引言 使用数据库的时候,我们每个操作都十分小心,尤其是不能直接在数据库上执行 update.delete 等操作,否则万一忘记加全 where 条件,可能就会造成无法挽回的结果. 有一句十分流行 ...
- C#的扩展方法学习
一,什么是扩展方法? 1,扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 2,扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用 ...
- go语言从例子开始之Example27.超时处理
超时 对于一个连接外部资源,或者其它一些需要花费执行时间的操作的程序而言是很重要的.得益于通道和 select,在 Go中实现超时操作是简洁而优雅的. Example: package main im ...
- docker-ce创建gitlab-ce容器笔记
前言 vagrant + ubuntu 16.04 设置 apt 源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim ...
- win10 + VS2015 编译 ARPACK
step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...