Python教程:文件和读写的详细教程

news/2024/5/3 22:00:48/文章来源:https://www.cnblogs.com/python1111/p/16630800.html

文件操作的模式

文件操作的模式如下表:
在这里插入图片描述

1. open 打开文件

使用 open 打开文件后一定要记得调用文件对象的 close() 方法。比如可以用 try/finally 语句来确保最后能关闭文件。

file_object = open(r'D:\test.txt') # 打开文件 
try:all_the_text = file_object.read( ) # 读文件的全部内容
finally:file_object.close( ) # 关闭文件print(all_the_text)

注:不能把 open 语句放在 try 块里,因为当打开文件出现异常时,文件对象 file_object 无法执行 close() 方法。

2. 读文件

读文本文件方式打开文件

file_object = open(r'D:\test.txt', 'r') # 打开文件
#第二个参数默认为 r
file_object = open(r'D:\test.txt') # 打开文件

读二进制文件方式打开文件

file_object= open(r'D:\test.txt', 'rb') # 打开文件

读取所有内容

file_object = open(r'D:\test.txt') # 打开文件
try:all_the_text = file_object.read( )# 读文件的全部内容
finally:file_object.close( ) # 关闭文件
print(all_the_text)

读固定字节

file_object = open(r'D:\test.txt', 'rb') # 打开文件
try:while True:chunk = file_object.read(100) # 读文件的100字节if not chunk:break#do_something_with(chunk)
finally:file_object.close( ) # 关闭文件

读每行 readlines

file_object = open(r'D:\test.txt', 'r')  # 打开文件
list_of_all_the_lines = file_object.readlines( ) #读取全部行
print(list_of_all_the_lines) 
file_object.close( ) # 关闭文件

如果文件是文本文件,还可以直接遍历文件对象获取每行:

file_object = open(r'D:\test.txt', 'r') # 打开文件for line in file_object:print(line)file_object.close( ) # 关闭文件

3. 写文件

写文本文件方式打开文件

file_object= open('data', 'w')

写二进制文件方式打开文件

file_object= open('data', 'wb')

追加写文件方式打开文件

file_object= open('data', 'w+')

写数据

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
all_the_text="aaa\nbbb\nccc\n"
file_object = open(r'D:\thefile.txt', 'w') # 打开文件
file_object.write(all_the_text) #写入数据
file_object.close( ) # 关闭文件

写入多行

all_the_text="aaa\nbbb\nccc\n"
file_object = open(r'D:\thefile.txt', 'w')# 打开文件
file_object.writelines(all_the_text) #写入数据
file_object.close( ) # 关闭文件

追加

file = r'D:\thefile.txt'
with open(file, 'a+') as f: # 打开文件f.write('aaaaaaaaaa\n')  

判断文件是否存在:

import os.path
if os.path.isfile("D:\\test.txt"): # 判断文件是否存在print(":\\test.txt exists")import os
os.getcwd()  # 获得当前目录
os.chdir("D:\\test.txt") # 改变当前目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_2795.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习:python进阶 (一)

python解释器多版本共存 1.下载需要的版本安装包 2.增加环境变量,把优先用的python放到第一个 修改python.exe可执行文件,在终端输入对应名称可以指定需要运行的python版本 虚拟环境 python3 -m venv 虚拟环境路径 #新建虚拟环境 cd 虚拟环境路径/Script acticate.bat #开启虚…

04Spring MVC入门

Spring MVC三层架构表现层 业务层 数据访问层MVC(处理表现层)Model:模型层 View:视图层 Controller:控制层底层请求方式 在controller中添加 @RequestMapping("/http")public void http(HttpServletRequest request, HttpServletResponse response) throws IOExce…

Python中itertools

一、介绍 itertools 是python的迭代器,itertools提供的工具相当高效且节省内存 使用这些工具,可创建自己定制的迭代器用于高效率循环 1.count(初值=0,步长=1):1 from itertools import count2 for i in count():3 print i4 if i > 10:5 break6 7 #从0…

R语言中 %||%什么意思?

001、 %||% 函数用于判断 左侧变量是否为NULL, 如果左侧为NULL, 则返回右侧的变量; 否则,返回左侧的变量library(rlang) x = NULL y = 10 x %||% y ## 左侧变量x为NULL, 则返回右侧变量y的值x = 888 x %||% y ## 左侧变量x不为NULL, 则返回左侧变量的值

2022HDU多校第五场 - 1007 Count Set

置换群 + 生成函数 + NTT + 启发式合并/分治 题意 给一个 1-n 的排列 p 和一个非负整数 k,求大小为 k 的 {1, 2, 3,... n} 的子集合 T 的数量,满足即 T 的元素按 p 置换一轮后和自身没有交集 思路\(i\) -> \(p_i\) 连边,找到 m 个环设某个环的大小为 a,要找 b 个元素…

MapReduce计算流程

MapReduce的计算流程 1.1 原始数据File The books chronicle the adventures of the adolescent wizard Harry Potter and his best friends Ron Weasley and Hermione Granger, all of whom are students at Hogwarts School of Witchcraft and Wizardry. 1T数据被切分成块存放…

TCP协议

TCP协议 TCP(Transmission Control Protocol)协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。 TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。…

MySQL九:MVCC能否解决幻读问题

转载~ 幻读【前后多次读取,数据总量不一致】同一个事务里面连续执行两次同样的sql语句,可能导致不同结果的问题,第二次sql语句可能会返回之前不存在的行。事务A执行多次读取操作过程中,由于在事务提交之前,事务B(insert/delete/update)写入了一些符合事务A的查询条件的记…

C - Candles

题目链接: C - Candles (atcoder.jp) 题目大意: 给你n个蜡烛的坐标,你想点燃其中k个蜡烛,一开始你在坐标0,每次向左或者向右可以移动一格,问点燃k个蜡烛至少需要移动多少步。 分析: 最优的移动的路线可以看作是一个‘U’型再加上一个线段。 以第一个样例为例: 如图所示…

手机PC安装油猴

一、移动端使用油猴脚本移动端可以不使用油猴插件,就可直接安装脚本(需要浏览器支持),这样天然支持油猴脚本的移动浏览器还是很多,比如:书签地球、X浏览去、M浏览器等,但是各个浏览器的支持情况不一样,下面我以**【书签地球】**为例,展示安装使用,此浏览器经过测试对…

DTSE Tech Talk | 云原生架构下的数字身份治理实践

摘要:由华为技术大咖VS派拉软件CTO为大家详解云原生架构下的身份管理平台,构建云安全数字身份入口。 本文分享自华为云社区《DTSE Tech Talk | 第4期:云原生架构下的数字身份治理实践》,作者: 华为云社区精选。 DTSE Tech Talk是华为云开发者联盟推出的技术公开课,解读云…

【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件网友评论

python可视化大屏分析,舆情分析,张天爱事件目录一、事件背景二、微热点分析二、自开发Python舆情分析2.1 Python爬虫2.2 可视化大屏2.2.1 大标题2.2.2 词云图2.2.3 条形图2.2.4 饼图(玫瑰图)2.2.5 地图三、演示视频 一、事件背景 大家好,我是马哥python说。 演员张天爱于2…

2022-08-26 第六小组 高佳誉 学习笔记

前情提要(博主在复习前端知识,所以近几天没有更新博客。相关前端内容可见博主其他随笔) JQurey 重点事件 与JS的区别 选择器思维导图知识点 1. 定义 JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resi…

Shopify Spark主题模板配置修改

对于那些正在启动业务的shopify卖家来说,Spark主题是很好的选择,它跨越了你的愿景和市场之间的差距,将美感和必要性结合在一起,这样你就可以用最小的触角将事情进行下去。通过最少的设置,我们设计了一个主题,以帮助你迅速和毫不费力地开店,同时仍然是一个具有惊人风格的…

NC50940 Running Median

For this problem, you will write a program that reads in a sequence of 32-bit signed integers. After each odd-indexed value is read, output the median (middle value) of the elements received so far.题目原题地址:Running Median 题目编号:NC50940 题目类型:对…

项目工期延后有哪些补救措施?

大部分项目经理都面临过项目延期的情况,特别是在软件开发领域,项目延期情况尤为严重。项目管理者的真正挑战,不是发现问题和记录问题,而是预见问题、控制问题和解决问题。 因此当项目出现了延期状况时,我们需要思考有效的”拯救“之策,尽最大可能将未被终止的项目进行调整…

用于知识图嵌入的多尺度动态卷积网络

原文 Multi-Scale Dynamic Convolutional Network for Knowledge Graph Embedding 出版IEEE Transactions on Knowledge and Data Engineering Volume: 34 Issue: 5 01 May 2022申明 版权归原文作者及出版单位所有,如有侵权请联系删除 摘要 知识图是具有不完全或部分信息的大型…

全同态加密-丁津泰:学习

本文学习丁老师写的同态加密的文章,做些笔记。引言同态加密适用于云计算。 因为任意计算都可以由加法和乘法构成,全同态意味着计算函数\(f\)可以是任意计算操作(任意次加法和乘法)。 同态加密,起源于“隐私同态”的概念,但并未给出具体实现;后续提出一些部分同态性的方案…

打了一场模拟赛的心态,总结

今天打了一场模拟赛总结一下: 题目比较简单(我后面一个题目100一个90都是暴力的功/dogen) Frist problem: 总结:一道伪装成5⭐的打卡题目 用时:2~3min 思路:每输入一个字符串判断最后一个字符就可以得知是哪国的人(因为这几个国结尾字母各不相同) Second problem: 总…

AMBA AHB总结

AMBA AHB(高级高性能总线)介绍 一、AHB简介 AHB是为提出高性能可综合设计的要求而产生的新一代AMBA总线。它是一种支持多总线主机和提供高带宽操作的高性能总线。 AMBA AHB实现了高性能,高时钟频率系统的以下特征要求: 突发传输、分块处理、单周期总线主机移交,单时钟沿操…