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基础八之文件操作的更多相关文章

  1. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  2. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  3. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  4. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  5. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  6. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  7. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  8. Python基础之 一 文件操作

    文件操作 流程: 1:打开文件,得到文件句柄并赋值给一个变量 2:通过句柄对文件进行操作 3:关闭文件 模式解释 r(读) , w(写) ,a(附加)r+(读写的读), w+(读写的写),a+(读附加 ...

  9. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

随机推荐

  1. iOS 自定义Tabbar实现push动画隐藏效果

    http://wonderffee.github.io/blog/2013/08/07/hide-custom-tab-bar-with-animation-when-push/ 在之前的一篇文章(链 ...

  2. 地不安装Oracle,plsql远程连接数据库

    由于Oracle的庞大,有时候我们需要在只安装Oracle客户端如plsql.toad等的情况下去连接远程数据库,可是没有安装Oracle就没有一切的配置文件去支持.最后终于发现一个很有效的方法,Or ...

  3. VisualTreeHelper使用——使用BFS实现高效率的视觉对象搜索

    BFS,即广度优先搜索,是一种典型的图论算法.BFS算法与DFS(深度优先搜索)算法相对应,都是寻找图论中寻路的常用算法,两者的实现各有优点. 其中DFS算法常用递归实现,也就是常见的一条路找到黑再找 ...

  4. css 不大常见的属性(不断更新中...)

    1 英语或数字强制换行 word-break:break-all; 2 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果 -webkit-overflow-scroll ...

  5. 自定义View系列教程01--常用工具介绍

    站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定 ...

  6. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结 本系列文章中可能有很多翻译有问题或者错误的地方:并且有些章节 ...

  7. 安装LoadRunner11时,缺少vc2005_sp1_with_atl_fix_redist错误的解决方案

    安装LoadRunner11时,会报缺少vc2005_sp1_with_atl_fix_redist错误,类似下图所示: 由提示信息可知,这里是由于本机缺少该组件所致,解决方案就是安装此组件,可以去网 ...

  8. js表格拖拽

    html部分 <div id="chenkbox"> <div id="tableSort"> <ol> <li> ...

  9. node写简单的爬虫(二)

    上次我们已经成功的爬取了网站上的图片,现在我们把爬取的图片存储到本地 首先引入request var request=require('request'); http.get(url, functio ...

  10. LA4094 WonderTeam

      杯哥题解.   //Serene #include<algorithm> #include<iostream> #include<cstring> #inclu ...