1.1 文件操作

1、只读(r,rb)     rb以bytes方式读文件

只写(w,wb)

追加(a,ab)

r+ 读写

w+ 写读

a+  追加写读

以什么编码方式储存的文件,就用什么编码方式打开

默认使用r(只读)

有b,则打开是不需要指定编码方式

2、相对路径(从当前目录开始找) ../          推荐使用

绝对路径

只读r

 f = open(“d:/a.txt”,mode=’r’,encoding=’utf-8’)
content = f.read()
print(content)
f.close()

只写w   清空后再写入 ,没有文件就创建

 f = open(“d:/a.txt”,mode=’r’,encoding=’utf-8’)
f.write(“wemon”)
f.flush()
f.close()

追加a    在原来基础上追加内容 ,没有文件就创建

 f = open(“d:/a.txt”,mode=’a’,encoding=’utf-8’)
f.write(“wemon”)
f.flush()
f.close()

rb,wb,ab   处理的是非文本

只读rb

 f = open(“d:/a.txt”,mode=’rb’,encoding=’utf-8’)
content = f.read()
print(content.decode(“utf-8”)) #需要编码
f.close()

只读wb

 f = open(“d:/a.txt”,mode=’rb’,encoding=’utf-8’)
f.write(“你好啊”.encode(“utf-8”)) 需要编码在写入
print(content.decode(“utf-8”))
f.close()

f.read()读是读的光标后面的内容

读写r+

默认光标在文件开头,先读后写光标在最后  先写光标在最前面,覆盖写

 f = open(“d:/a.txt”,mode=’r+’,encoding=’utf-8’)
f.read()
f.write(“你好啊”)
f.flush()
f.close()

写读w+     不好用

w操作,会清空原来的内容

 f = open(“d:/a.txt”,mode=’r+’,encoding=’utf-8’)
f.write(“你好啊”)
f.seek(0) 移动光标到文件首
s = f.read()
print(s)
f.close()

3、相关操作

神坑r+   如果先读取,在写,写入的是末尾

    在没有任何操作之前去进行写,在开头写

 f = open(“d:/a.txt”,mode=’r+’,encoding=’utf-8’)
f.read(3) #从光标处读三个字符
f.write(“你好啊”) # 写入到末尾
f.flush()
f.close()

seek(n)    从开头光标移动到n位置,移动的单位是byte,所以如果是utf-8,中文需要是3的倍数,英文是1个byte

seek(0)    移动到开头

seek(0,2)   移动到结尾,seek第二个参数表示从哪个位置进行偏移,默认是0表示从开头,1表示当前位置,2表示结尾

 f = open(“d:/a.txt”,mode=’r+’,encoding=’utf-8’)
f.seek(6) #移动6个字节,2个字
f.read(3) #从光标处读三个字符
f.seek(0) #光标回到开头
f.read(3) #从开头读三个
f.flush()
f.close()

4、tell() 当前光标的位置

5、文件修改   with as 不用关闭文件

import os
with open(“d:/a.txt”,mode=’r’,encoding=’utf-8’) as f1 ,
open(“d:/a.txt”,mode=’w’,encoding=’utf-8’) as f2:
#s = f1.read() #全部读取完后修改
#ss=s.replace(“肉”,”菜”)
#f2.write(ss) for line in f: #一行一行修改
s = line.replace(‘肉’,’菜’)
f2.write(s)
os.remove(“吃的”)
os.rename(‘吃的_副本’)

读   一行一行读  f.readline()

 f= open(“file/test.txt”,mode=’r’,encoding=’utf-8’)
for line in f:
print(line)
f.close()

python基础06--文件操作的更多相关文章

  1. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  2. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  3. Day3 Python基础学习——文件操作、函数

    一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...

  4. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  5. 【python基础】文件操作

    文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...

  6. python基础4文件操作

    在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...

  7. Python基础 之 文件操作

    文件操作 一.路径 文件绝对路径:d:\python.txt 文件相对路径:在IDEA左边的文件夹中 二.编码方式 utf-8 gbk... 三.操作方式 1.只读 r 和 rb 绝对路径的打开操作 ...

  8. Python基础--基本文件操作

    全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...

  9. python基础(10):文件操作

    1. 初识文件操作 使⽤python来读写⽂件是非常简单的操作.我们使⽤open()函数来打开⼀个⽂件,获取到⽂ 件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操 作 ...

  10. Python基础学习——文件操作、函数

    一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...

随机推荐

  1. USB设备驱动程序1

    目的:USB鼠标用作按键,左键相当于字母L,右键相当于字母S,中键相当于Enter.如何来实现?用到输入子系统:1)分配input_dev2)设置3)注册4)硬件相关操作对于USB鼠标来说,硬件操作应 ...

  2. 机器取代人类成为现实,Linux shell才可被取代?

    机器取代人类成为现实,Linux shell才可被取代? 新睿云 新睿云 新睿云-让云服务触手可及 本次笔者用通俗易懂的语言介绍一下Linux shell,由于笔者能力有限,如有有描述不准确的地方还请 ...

  3. 什么是rpc及应用场景?

    你编过程序吧?你程序里有函数或方法间的调用吧? 比如你写了两个函数fa和fb,在fa里肯定可以调用fb,这个可以理解吧?好了,铺垫完了.接下来入正题: 别人写了个程序,程序里有个函数rf,而且这个程序 ...

  4. node开发遇到类似:Error: ENOENT: no such file or directory, scandir 'D:\work\taro-components- ....... _node-sass@4.12.0@node-sass\vendor

    唯一的有参考价值的文章,https://www.cnblogs.com/milo-wjh/p/9175138.html 我可以负责任的说,以下的方法, npm rebuild node-sass 80 ...

  5. 10 使用 OpenCV、Kafka 和 Spark 技术进行视频流分析

    问题引起 基于分布式计算框架Spark的室内防盗预警系统 首先用摄像头录一段视频,存在电脑里,下载一个ffmpeg的软件对视频进行处理,处理成一张张图片,然后通过hadoop里边的一个文件系统叫做hd ...

  6. org.apache.hadoop.util.Shell demo/例子

    package cn.shell; import java.io.IOException; import org.apache.hadoop.util.Shell; public class Shel ...

  7. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块AT指令TCP透传方式,定时访问升级(含有数据校验)

    实现功能概要 单片机定时使用http访问云端的程序版本,如果版本不一致, 然后通过http下载最新的升级文件,实现远程升级STM32程序. 兼容Air202 ,SIM800 测试准备工作(默认访问我的 ...

  8. Huffman树与Huffman编码

    1.Huffman树 今天复习Huffman树.依稀记得自己被Huffman树虐的经历.还记得是7月份,我刚开始看数据结构与算法,根本看不懂Huffman树的操作.后来我终于悟出了Huffman树是怎 ...

  9. OD(lfdnb)

    由于一场意外,D死了,在此开一个新坑 2019.11.13 考前焦虑 智商为负 有点担心考试状态 2019.11.12 上午考试简直心态爆炸 T1看了一个小时不会 然后看T2,这时候wxy聚聚已经切了 ...

  10. 【树形DP】【P3177】[HAOI2015] 树上染色

    Description 给定一棵 \(n\) 个点的带权树,要求选 \(k\) 个点染成黑色,剩下染成白色,最大化两两同色点之间的距离和. Limitations \(0 \leq k \leq n ...