文件读写基础

简单的读文件:

 # 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. Continuity of arithmetic operations

    Arithmetic operations taught in elementary schools are continuous in the high level topological poin ...

  2. 网站发布出现“未能找到路径“path\bin\roslyn\csc.exe”....“和拒绝访问的解决办法

    最近在2017上新建了一个MVC项目,发布是出现了各种奇怪的问题,其中一个错误是: 未能找到路径“path\bin\roslyn\csc.exe”.... 经过网上搜寻资料发现罪魁祸首就是NUGET里 ...

  3. Linux安装JSON-C

    0.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的文本格式,但是 ...

  4. SSH(Struts+spring+hibernate)配置

    1.spring和struts 1)web.xml 配置spring的ContextLoaderListener(监听器) 配置Struts的StrutsPrepareAndExecuteFilter ...

  5. jquery.string.js

    /** * jquery.string - Prototype string functions for jQuery * version: 1.1.0 * (c) 2008-2011 David E ...

  6. docker-compose.yml 配置文件详解及项目发布

    摘自:https://blog.csdn.net/qq_36148847/article/details/79427878 docker部署tomcat项目 1.上传war包2.制作镜像 Docker ...

  7. 个人总结ASP.NET必备面试题

    1.你能解释下MVC的完整流程吗? 所有的终端用户请求被发送到控制器.控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图.附加了模型数据的最终视图做为响应发送给终端用户. 2. 那你说一下你对 ...

  8. C++入门笔记(二)变量和基本类型

    变量和基本类型 一.基本内置类型 1.除去布尔类型和扩展的字符型外,其他整型可以分为带符号的和无符号的. 2.与其他整型不同,字符型被分为了三种:char.signed char 和 unsigned ...

  9. iptv

    # -*- coding: utf-8 -*- import datetime, time, json, re, os #from pwd import getpwnam #quality str_q ...

  10. IDEA+Tomcat+Maven+SpringMVC基于Java注解配置web工程

    1.在IDEA中新建Maven工程,使用archetype. 2.添加Maven依赖 <dependencies> <dependency> <groupId>ju ...