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 ...
随机推荐
- MySQL:提高笔记-5
MySQL:提高笔记-5 学完基础的语法后,进一步对 MySQL 进行学习,前几篇为: MySQL:提高笔记-1 MySQL:提高笔记-2 MySQL:提高笔记-3 MySQL:提高笔记-4 MySQ ...
- 验证人员应该以何种角度阅读spec
转载:验证人员应该以何种角度阅读spec - 微波EDA网 (mweda.com) 在开发流程中,设计和验证人员关注的点肯定是不一样的,尤其在spec的理解上,验证人员往往需要有自己独立的理解.在拿到 ...
- 矩阵中的路径 牛客网 剑指Offer
矩阵中的路径 牛客网 剑指Offer 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下 ...
- (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令
1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...
- 从0到1使用Kubernetes系列(六):数据持久化实战
本文是从 0 到 1 使用 Kubernetes 系列第六篇,上一篇<从 0 到 1 使用 Kubernetes 系列(五):Kubernetes Scheduling>介绍了 Kuber ...
- 一维前缀和 连续数组和为k
给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数. 滑动窗口没办法解决有负数的情况 方法一: 预处理 前缀和 sum_ij = preSum[j] - preSum[i-1 ...
- 羽夏看Win系统内核——驱动篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- CommonJS与ES6 Module的使用与区别
CommonJS与ES6 Module的使用与区别 1. CommonJS 1.1 导出 1.2 导入 2. ES6 Module 2.1 导出 2.2 导入 3. CommonJS 与 ES6 Mo ...
- request模块做post请求时,body为json格式,并且带有中文,如何请求
后台接口只能解析json,并且一定要是中文才能解析出来,如果是unicode编码的中文则会报错 看requests的源码.以下为解决方法: #将requests库中的models.py文件中的第461 ...
- 菜鸡的Java笔记 - java 正则表达式
正则表达式 RegularExpression 了解正则表达式的好处 正则表达式的基础语法 正则表达式的具体操作 content (内容 ...