python基础八之文件操作
python的文件操作
1,打开文件
编码方式要和文件的编码方式相同!
#open('路径','打开方式','指定编码方式')
f = open(r'E:\pycharm\学习\day8\test', mode='r', encoding='utf-8')
打开方式:
只读 r
with open('test', mode='r', encoding='utf-8') as f:
    print(f.read())
只写 w
with open('test', mode='w', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的
追加 a
with open('test', mode='a', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')     # test文件不存在则新建 存在则在原文件内容的后面添加
读写 r+
with open('test', mode='r+', encoding='utf-8') as f:
    print(f.read())
    f.write('海上生明月,天涯共此时。')   # 先读后写 写的添加到后面
with open('test', mode='r+', encoding='utf-8') as f:
    f.write('海上生明月,天涯共此时。')
    print(f.read())     # 先写后读 写的从头开始逐一覆盖添加
写读 w+
with open('test', mode='w+', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')
    print(f.read())               # 相当于先w清空写好内容后光标在最后索引r没有任何内容
with open('test', mode='w+', encoding='utf-8') as f:
    print(f.read())
    f.write('举头望明月,低头思故乡。')  # 相当于先w清空 所以读的内容为空 然后再写入新的内容
2,操作文件
读文件
with open('test', mode='r', encoding='utf-8') as f:
    print(f.read())   # 一次性读取全部内容
with open('test', mode='r', encoding='utf-8') as f:
    print(f.readline())     # 一行一行读取
with open('test', mode='r', encoding='utf-8') as f:
    print(f.readlines())   # 一次性读取全部,转换为列表,元素是每行的内容
写文件
with open('test', mode='w', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的
其他的操作方式
# 定义读取的字符个数
with open('test', mode='r', encoding='utf-8') as f:
print(f.read(2)) # 负数获取全部 0为空
# 移动指针位置
with open('test', mode='r', encoding='utf-8') as f:
f.seek(3) # 移动是按字节数
# f.seek(2) # utf-8一个中文字符三个字节表示 所以2个字节找不到报错
print(f.read())
# 获取字符指针的位置
with open('test', mode='r', encoding='utf-8') as f:
f.read() # 将文件读完 指针移动到结尾
print(f.tell()) # tell()返回指针位置
# 截取指定长度的字符 截取是按字节数
with open('test', mode='r+', encoding='utf-8') as f:
f.truncate(9) # 截取前9个字节,英文就是前九个 ,中文是前三个
3,关闭文件
一般在操作完成后加close()来完成关闭文件。(容易忘记!)
f = open(r'E:\pycharm\学习\day8\test', mode='r', encoding='utf-8')
content = f.read()
print(content)
f.close() # 关闭
另外一种方式可以有效的避免忘记写close()。
# 通过with ... as来进行文件处理,最后会自动关闭文件
with open('test', mode='r', encoding='utf-8') as f:
print(f.read())
python基础八之文件操作的更多相关文章
- 第三章:Python基础の函数和文件操作实战
		本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ... 
- Python基础-week03  集合 , 文件操作 和 函数详解
		一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ... 
- Python基础7:文件操作
		[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ... 
- python学习笔记-(七)python基础--集合、文件操作&函数
		本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ... 
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
		1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ... 
- python基础3之文件操作、字符编码解码、函数介绍
		内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ... 
- python基础学习笔记——文件操作
		文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ... 
- Python基础之 一   文件操作
		文件操作 流程: 1:打开文件,得到文件句柄并赋值给一个变量 2:通过句柄对文件进行操作 3:关闭文件 模式解释 r(读) , w(写) ,a(附加)r+(读写的读), w+(读写的写),a+(读附加 ... 
- python基础学习之文件操作&函数
		1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ... 
随机推荐
- 使用mpvue开发github小程序总结
			前言 最近有点闲,想起关注已久的mpvue写小程序,所以稍微肝了半个多月写了个github版的微信小程序,已上线.现在总结一下遇到的坑. 扫码体验. 项目地址.https://github.com/c ... 
- 洛谷 P3950 部落冲突 树链剖分
			目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例1 输出样例1 输入样例2 输出样例2 输入样例3 输出样例3 说明 思路 AC代码 总结 题面 题目链接 P3 ... 
- 【JZOJ3885】【长郡NOIP2014模拟10.22】搞笑的代码
			ok 在OI界存在着一位传奇选手--QQ,他总是以风格迥异的搞笑代码受世人围观 某次某道题目的输入是一个排列,他使用了以下伪代码来生成数据 while 序列长度<n do { 随机生成一个整数属 ... 
- 【JZOJ4792】【NOIP2016提高A组模拟9.21】整除
			题目描述 麦克雷有一个1~n的排列,他想知道对于一些区间,有多少对区间内的数(x,y),满足x能被y整除. 输入 第一行包含2个正整数n,m.表示有n个数,m个询问. 接下来一行包含n个正整数,表示麦 ... 
- 如何在iPhone 显示一个 星级评分
			http://blog.csdn.net/fanjunxi1990/article/details/8663914 由于项目需求,需要做一个列表,里面有各个商品的评分,就是app store里面所有a ... 
- oracle-Immediate
			从shutdown immediate命令发布起,禁止建立任何新的oracle连接 未提交的事务被回退.因此,处于一个事务中间的用户将失去所有未提交的劳动成果. oracle不等待客户断开连接.任何未 ... 
- ajax封装最后形态
			function obj1(obj) { obj.t = new Date().getTime(); var res = []; for (var key in obj) //url中不能出现中文 r ... 
- 前端web设置div宽高一样
			<div class="constant-width-to-height-ratio"></div> .constant-width-to-height-r ... 
- XAML 很少人知道的科技 - walterlv
			原文:XAML 很少人知道的科技 - walterlv XAML 很少人知道的科技 发布于 2019-04-30 02:30 更新于 2019-04-30 11:08 本文介绍不那么常见的 XAML ... 
- SDUT-3331_数据结构实验之串三:KMP应用
			数据结构实验之串三:KMP应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 有n个小朋友,每个小朋友手里有一些糖块, ... 
