文件读写基础

简单的读文件:

 # r 表示只能读
#打开文件,得到文件光标对象,文件不存在则报错
f=open("ww.txt","r",encoding="utf-8") #读取文件内容
res=f.read() #关闭文件
f.close() print(res)

读文件补充:

 # r 表示只能读
#打开文件,得到文件光标对象,文件不存在则报错
f=open("ww.txt","r",encoding="utf-8") #读取文件内容,一次性全部读取
#rengs=f.read() #读一行
#res=f.readline() #将文件内容变成一个数组,每行一个元素,一次性全部读取
#res=f.readlines() #print(res) #每行循环打印,一次性全部读取
#for linex in f.readlines():
# print(linex) #每行循环打印,一次性读一行,效率高,推荐
for linex in f:
print(linex) #查看文件指针位置
#汉字长度为3,换行符长度为2,字母长度为1,与文件编码相关
print(f.tell())
#指针回退,0表示文件首部
f.seek(0) #打印文件编码
print(f.encoding) #打印文件名
print(f.name) #关闭文件
f.close()

简单的写文件:

 # w  表示只能写
#打开文件,得到文件光标对象,如果文件不存在则新建,如果存在则覆盖
f=open("ww.txt","w",encoding="utf-8") #写文件,返回写入的字数,中文也是1,输出结果为:24
res=f.write("dongxiao\ndongdadong\n东小东东") #f.flush() #强制刷新,写文件时一般有缓冲区,缓冲区满才会写入
#print(f.truncate(2)) #文件截取并更新原文件,从头开始截取,长度与文件编码相关 #关闭文件
f.close()
print(res) #输出:24

简单的追加

在文件内容尾部添加数据

 # a  表示追加,只能写
#打开文件,得到文件光标对象,如果文件不存在则新建
f=open("ww2.txt","a",encoding="utf-8") #写文件,返回写入的字数,中文也是1,输出结果为:7
res=f.write("\n追加的东小东") #关闭文件
f.close() print(res) #输出:7

二进制数据

设计图片或者视频数据时可以使用

二进制文件读:

# rb  表示二进制只读

#打开文件,不存在时报错
f=open("ww.txt","rb") res=f.read()
print(res) #关闭文件
f.close()

二进制文件写:

# wb  表示二进制只写

#打开文件,不存在时创建
f=open("ww.txt","wb") #必须经过编码成二进制才能进行写
res=f.write("东小东dong".encode("utf-8"))
print(res) #输出:13 #关闭文件
f.close()

文件内容更改:

实现一个文件的内容复制到另一个文件,并在文件复制的路上,对文件数据的部分修改

#打开两个文件,分别为写和读
fr=open("ww.txt","r",encoding="utf-8")
ft=open("ww1.txt","w",encoding="utf-8") #逐行取内容
for lienx in fr:
print(lienx) #寻找dong是否在字符串中
if "dong" in lienx:
#替换
lienx=lienx.replace("dong","dongxiaodong") ft.write(lienx) #关闭文件
fr.close()
ft.close()

其他方法补充

读写方式操作文件:

 # r+  表示读写

 #打开文件,不存在是报错
f=open("ww.txt","r+",encoding="utf-8") print(f.tell())
#写
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) f.seek(0) #移动文件指针 res=f.read()
print(res) #关闭文件
f.close()

写读方式操作文件:

# w+  表示写读

#打开文件,不存在时创建
f=open("ww8.txt","w+",encoding="utf-8") #以覆盖方式进行写文件
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) #此时光标在结尾,必须移动光标
f.seek(0) res=f.readline()
print(res) #关闭文件
f.close()

追加写读方式操作文件:

 # a+  表示追加写读

 #打开文件,不存在时创建
f=open("ww10.txt","a+",encoding="utf-8") #以追加方式进行写文件
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) #此时光标在结尾,必须移动光标
f.seek(0) res=f.read()
print(res) #关闭文件
f.close()

with open……as… 文件操作可以避免忘记手动关闭文件,利用缩进特性实现,下面是如上相同功能实现。

#打开两个文件,分别为写和读
with open("ww.txt","r",encoding="utf-8") as fr,open("ww1.txt","w",encoding="utf-8") as ft:
# 逐行取内容
for lienx in fr:
print(lienx) # 寻找dong是否在字符串中
if "dong" in lienx:
# 替换
lienx = lienx.replace("dong", "dongxiaodong11") ft.write(lienx)

获取文件目录:

import os

print(os.path.abspath(__file__))#得到程序的绝对路径
print(os.path.dirname(os.path.abspath(__file__)))#得到程序的绝对路径目录名 print(__file__) #返回程序的相对路径

Python档案袋(文件系列操作 )的更多相关文章

  1. python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  2. python里文件读写操作

    文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...

  3. 【Python】文件读写操作

    Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...

  4. python关于文件的操作

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  5. python进阶--文件读写操作

    Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 ...

  6. Python中文件的操作

    文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, new ...

  7. day9 python学习 文件的操作 读 写 seek

    文件的操作 1   文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...

  8. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  9. python基础--文件的操作

    #r w a 文件读取操作 默认打开为读操作 #f=open('coldplay.txt','r',encoding="utf-8")#open函数默认已系统编码方式打开windo ...

随机推荐

  1. RabbitMQ 声明队列时候的参数解释

    参考链接:http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v3.6.6/rabbitmq-dotnet-client-3.6.6-cli ...

  2. OpenCV函数学习:cvRound,cvFloor,cvCeil

    函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound 返回跟参数最接近的整数值: cvFloor 返回不大于参数的最大整数值: cvCeil ...

  3. golang项目git-subtree完美解决差异包管理

    目标: 1.把golang官方已移动过url的包跟随自己的项目git代码上传到项目源码中. 2.把或自己修改过的差异化fork包跟随自己的项目git代码上传到项目源码中. 解决方案: 方案1.第三方包 ...

  4. sklearn库 线性回归库 LinearRegression

    import numpy as np import sklearn.datasets #加载原数据 from sklearn.model_selection import train_test_spl ...

  5. 创建线程的一般方式和匿名内部类方式对比——实现runnable接口,重新run方法

    启动:使用静态代理设计模式 优点:可同时实现继承,避免单继承局限性 一般方式: Programer.java /** * 真实角色 * * @author :liuqi * @date :2018-0 ...

  6. echarts中的区域缩放组件dataZoom,主动触发选区缩放点击事件

    options设置 toolbox: { // 工具栏 feature: { dataZoom : { // 选时间缩放功能 show : true, // show为true时,才能触发takeGl ...

  7. PBRT笔记(7)——反射模型

    基础术语 表面反射可以分为4大类: diffuse 漫反射 glossy specular 镜面反射高光 perfect specular 完美反射高光 retro-reflective distri ...

  8. 2018-2019-2 网络对抗技术 20162329 Exp6 信息搜集与漏洞扫描

    目录 Exp6 信息搜集与漏洞扫描 一.实践原理 1. 间接收集 2. 直接收集 3. 社会工程学 二.间接收集 1. Zoomeye 2. FOFA 3. GHDB 4. whois 5. dig ...

  9. PHP如何搭建百度Ueditor富文本编辑器

    本文为大家分享了PHP搭建百度Ueditor富文本编辑器的方法,供大家参考,具体内容如下 下载UEditor 官网:下载地址 将下载好的文件解压到thinkphp项目中,本文是解压到PUBLIC目录下 ...

  10. R语言grid包just参数如何just图形位置

    思路   grid的画图函数都含有just,但是just参数的是怎么调节图形位置的总是让人非常费解,于是便写了代码来一探究竟.   思路非常简单:放一个2*2的布局viewport,每个布局里面放一个 ...