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. 【水滴石穿】ReactNativeDemo

    这个博主他的功底算是特别棒的了,能够把一些基础的例子,通过精巧的方式布局在一个小的demo里面 很值得我学习 放上博主的链接:https://github.com/jianiuqi/ReactNati ...

  2. MySql实现Oracle的row_number()over(partition by ... order by ...)

    SELECT IF(t1.id = @id,@rownum := @rownum + 1,@rownum := 1)AS rownum, t1.*, @id := t1.id FROM (SELECT ...

  3. 【python小随笔】List列表的常见函数与切片

    eval()的使用 n = ["2.3","2.56"] m = [] for i in n: k = eval(i) #只是去了最外层的双引号,单引号, 规定 ...

  4. 面向视频的全新AI架构 —— 阿里云智能视觉技术全解

    我们都知道,AI技术正在以可见的速度被应用于各行各业,然而绝大部分业务场景想应用AI技术,都需要算法工程师根据自身业务的标注数据,来进行单独训练,才能打磨出合适的AI模型.如此一来,如何以最低的门槛和 ...

  5. rqnoj86 智捅马蜂窝

    题目描述 背景 为了统计小球的方案数,平平已经累坏了.于是,他摘掉了他那800度的眼镜,躺在树下休息. 后来,平平发现树上有一个特别不一样的水果,又累又饿的平平打算去把它摘下来. 题目描述 现在,将大 ...

  6. bzoj1231 混乱的奶牛

    Description 混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S ...

  7. 【To Read】LeetCode | Jump Game II(转载)

    题目: Given an array of non-negative integers, you are initially positioned at the first index of the ...

  8. LeetCode191 Number of 1 Bits. LeetCode231 Power of Two. LeetCode342 Power of Four

    位运算相关 三道题 231. Power of Two Given an integer, write a function to determine if it is a power of two. ...

  9. Istio on ACK集成生态(2): 扩展AlertManager集成钉钉助力可观测性监控能力

    阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito.Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixe ...

  10. 洞见数据库前沿 阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看

    摘要: 作为DTCC的老朋友和全球领先的云计算厂商,阿里云数据库团队受邀参加本次技术盛会,不仅将派出重量级嘉宾阵容,还会为广大数据库业内人士和行业用户奉上8场精彩议题.下面小编就为大家提前梳理了8大亮 ...