python11文件读写模块
将文件的打开和关闭,交给上下文管理工具with去实现。
def read_file():
"""
读取文件
:return:
"""
file_path1 = 'D:\\PycharmProjects\\p1\\text.txt'
file_path2 = 'D:/PycharmProjects/p1/text.txt'
#普通读取
f = open(file_path1,encoding='utf-8')
#rest = f.read()
###############################
#读取指定的内容
###他不会从头开始读取,而是延续上一次读取的位置进行读取
rest = f.read(10)
print(rest)
print("@@@@@@@@@@@@@@@@")
rest = f.read(20)
print(rest)
print("@@@@@@@@@@@@@@@@")
rest = f.read()
print(rest)
##############################
f.close()
if __name__ == "__main__":
read_file() jieguo :
【发文说明】
博客园
@@@@@@@@@@@@@@@@
是面向开发者的知识分享社区,不允许发布任
@@@@@@@@@@@@@@@@
何推广、广告、政治方面的内容。
博客园首页(即网站首页)只能发布原创的、高质量的、能让读者从中学到东西的内容。
如果博文质量不符合首页要求,会被工作人员移出首页,望理解。如有疑问,请联系contact@cnblogs.com。
def read_file():
"""
读取文件
:return:
"""
file_path1 = 'D:\\PycharmProjects\\p1\\text1.txt'
file_path2 = 'D:/PycharmProjects/p1/text1.txt'
#随机读取
f = open(file_path1,encoding='utf-8')
#跳过这么多个字符
#f.seek(10)
#print(f.read(5))
#rest = f.readline()
# print(rest)
#print(f.readline())#接着上一次读取继续读取
# print(f.readline()) #读取所有的行,返回列表:
rest = f.readlines()
print(rest) f.close()
if __name__ == "__main__":
read_file() jeiguo :
['Process finished with exit code 0\n', 'finished with exit code\n', '\n', 'finished with exit\n', '\n', 'finished with exit code\n']
import random
from datetime import datetime def w_f():
"""
写入文件
:return:
"""
file_name = 'D:/PycharmProjects/p1/text1.txt' f = open(file_name,'w')
f.write("quanzhiqiang")
f.write("\n")
f.write("QQQQ")
f.close()
def w_m_f():
file_name = "D:/PycharmProjects/p1/text1.txt"
with open(file_name,"w",encoding='utf-8') as f:
l = ["11111","2222222","3333"]
f.writelines(l) def w_u_l():
rest = "用户:{}-访问时间:{}\n".format(random.randint(1000,9999),datetime.now())
file_name = "write_user_log.txt"
with open(file_name,"a",encoding="utf-8") as f:
f.writelines(rest) def read_and_write():
"""
先读再写入
:return:
"""
file_name = "read_and_write.txt"
with open(file_name,"r+",encoding="utf-8") as f:
read_rest = f.read()
#如果里面没用1,写入一行数据aaa
#如果有,写入bbb
if "1" in read_rest:
f.write("bbb")
else:
f.write("aaa") if __name__ == "__main__":
read_and_write()
文件的备份:
import os
class FileBackup(object):
"""
文本的备份
"""
def __init__(self,src,dist):
"""
构造方法
:param src: 需要备份的文件目录
:param dist: 备份到的目录
"""
self.src = src
self.dist = dist def read_files(self):
""" 读取src的所有文件
:return:
"""
ls = os.listdir(self.src)
print(ls)
for l in ls:
self.back_file(l) def back_file(self,filename):
"""
备份
:param filename: 文件/文件夹的名称
:return:
"""
#判断dist是否存在,不存在就创建这个目录
if not os.path.exists(self.dist):
os.makedirs(self.dist)
print("文件夹不存在,已经创建")
#拼接文件的完整路径
full_src_path = os.path.join(self.src,filename)
full_dist_path = os.path.join(self.dist, filename)
#判断文件是否为我们备份的文件
if os.path.isfile(full_src_path) and os.path.splitext(full_src_path)[-1].lower() == ".txt":
print(full_src_path)
#读取文件内容
with open(full_dist_path,"w",encoding="utf-8") as f_dist:
print(">>开始备份 {}".format(filename))
with open(full_src_path,"r",encoding="utf-8") as f_src:
while True:
rest = f_src.read(100)
if not rest:
break
f_dist.write(rest)
f_dist.flush()
#把读取的内容写入新的文件
else:
print("不存在") if __name__ == "__main__":
"""
这样子写通用性不高
src_path = 'D:\\PycharmProjects\\p1\\src'
dist_path = 'D:\\PycharmProjects\\p1\\dist'
"""
base_path = os.path.dirname(os.path.abspath(__file__))
src_path = os.path.join(base_path,"src")
dist_path = os.path.join(base_path,"dist")
print(base_path)
bak = FileBackup(src_path,dist_path)
bak.read_files()
python11文件读写模块的更多相关文章
- node.js之文件读写模块,配合递归函数遍历文件夹和其中的文件
fs.stat会返回文件夹会文件的属性 var fs = require('fs'); var wenwa = function (pathname,callback) { fs.stat(pathn ...
- 7. Buffer_包描述文件_npm常用指令_fs文件读写_模块化require的规则
1. Buffer 一个和数组类似的对象,不同是 Buffer 是专门用来保存二进制数据的. 特点: 大小固定: 在创建时就确定了,且无法调整 性能较好: 直接对计算机的内存进行操作 每个元素大小为1 ...
- python自动化--语言基础四模块、文件读写、异常
模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...
- nodejs基础(回调函数、模块、事件、文件读写、目录的创建与删除)
node官网:http://nodejs.cn/ 今天想看看node的视频,对node进一步了解, 1.我们可以从官网下载node到自己的电脑上,今天了解到node的真正概念,node时javascr ...
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- Python之文件读写
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...
- 第二篇:python基础之文件读写
python基础之文件读写 python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...
- [js高手之路]node js系列课程-创建简易web服务器与文件读写
web服务器至少有以下几个特点: 1.24小时不停止的工作,也就是说这个进程要常驻在内存中 2.24小时在某一端口监听,如: http://localhost:8080, www服务器默认端口80 3 ...
随机推荐
- JVM:内存结构
JVM:内存结构 说明:这是看了 bilibili 上 黑马程序员 的课程 JVM完整教程 后做的笔记 内容 程序计数器 虚拟机栈 本地方法栈 堆 方法区 直接内存 1. 程序计数器 1.1 定义 P ...
- [敏捷软工团队博客]Beta阶段事后分析
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的问题是:现在的软工课程的作业分布在博客园.GitHub上,没有一个集成多种功能的一体化 ...
- spring session实现session统一管理(jdbc实现)
最近在看一些关于spring session 的知识,特做一个笔记记录一下. 在项目中经常会遇到这么一种情况,同一个web项目有时需要部署多份,然后使用nginx实现负载均衡,那么遇到的问题就是,部署 ...
- LP-DDR 和其他 DDR
一篇技術文檔比較 LP-DDR 和其他 DDR. 就觀念來說,LP-DDR 就是 Low Power 的 DDR:但就架構來說,LP-DDR 和其他 DDR 是截然不同的東西. 他們分屬不同的 JDE ...
- poj 3020 Antenna Placement(二分图最大匹配)
题意: N行M列的矩阵,每个格子里不是 * 就是 O . * :是一个利益点. O:是一个空白点. 每次可以用一个圈覆盖相邻的两个*.(左右相邻或上下相邻). 问最少需要多少个圈可以覆盖所有的*. 思 ...
- Win10下C语言转8086汇编
目录 Win10下C语言转8086汇编 简介 开始 写C代码 转换成汇编代码 Win10下C语言转8086汇编 简介 最近学习<王爽汇编>,然后突发奇想,想一边写C语言用编译器将其翻译成汇 ...
- pycharm安装指导教程
pycharm下载安装教程 1.pycharm下载官网 http://www.jetbrains.com/pycharm/ 2.下载好安装包后双击点开安装包文件,这边以专业版为例 按以上图片所示教程, ...
- 不破不立,祝贺EDG夺得S11冠军。这一夜,我看到太多Flag成真
在昨晚11月6号夜进行的2021英雄联盟S11总决赛中,中国战队EDG夺冠!全国各地高校的男生宿舍像过年一般庆祝夺冠,高呼:EDG世界冠军! 前三局1:2的劣势下,第四局十分胶着,最终EDG顽 ...
- Centos7下安装BlockScout
简介 BlockScout是一个Elixir应用程序,允许用户搜索以太坊网络(包括所有叉子和侧链)上的交易,查看账户和余额以及验证智能合约.BlockScout为用户提供了一个全面,易于使用的界面,以 ...
- docker中镜像的作用
镜像原理镜像 镜像到底是什么?镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件.1.Uni ...