文件写入|学习笔记

简介: 快速学习 文件写入

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理文件写入】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8771


文件写入


内容介绍:


一、write( )

二、a 表示追加内容

三、x 用来新建文件

四、+ 为操作符增加功能

 

 

一、write( )

输入:

file_name =' demo .txt '

with open(file_name , encoding= ' utf-8 ') as file_obj:

write()来向文件中写入内容

如果操作的是一个文本文件的话,则  write( )  需要传递一个字符串作为参数

file_obj.write( ' Hello Hello How are you! ' )

先试着执行:报错,不可读

注意:

使用 open( ) 打开文件时必须要指定打开文件所要做的操作(读、写、追加)

如果不指定操作类型,则默认是读取文件,而读取文件时是不能向文件中写入的

r 表示只读的

w 表示是可写的

修改 with open(file_name , ' w ', encoding= ' utf-8 ') as file_obj:

结果如下:

Hello Hello How are you!

 

使用 w 来写入文件时,如果文件不存在会创建文件,如果文件存在则会截断文件,截断文件指删除原来文件中的所有内容,比如,先将 with open(file_name , ' w ', encoding= ' utf-8 ') as file_obj 中的  w  改为 r ,将 file_name =' demo .txt '中的  demo 改为 demo3 (不存在的文件)

结果如下:

会报错,文件不存在

 

而如果换成 w ,文件同样不存在,但是执行没有报错:

***Repl Closed***

 

同时创建了一个文件

 

创建完之后,就写进内容:

Hello Hello How are you!

write( ) 可以分多次向文件中写入内容:

输入:

file_obj.write( ' aaa ' )

file_obj.write( ' bbb ' )

file_obj.write( ' ccc ' )

结果如下:

aaabbbccc

 

如果输入 file_obj.write(123)

结果如下:

会报错:只能写入字符串

 

如果要传递非字符串的值时,需要调用 str 做一个类型转换:

file_obj.write(str(123))

Aaabbbccc123

 

并且 write( ) 写入不会自动换行,需要加入  \n

file_obj.write( ' aaa\n ' )

file_obj.write( ' bbb\n ' )

file_obj.write( ' ccc\n ' )

file_obj.write(str(123) +' \n' )

 

write( ) 实际上有返回值,写入完成以后,该方法会返回写入的字符的个数

r = file_obj.write(str(123) +' \n' )

print(r)

结果是 4

再来输入:r = file_obj.write(str(123) +'123123 \n' ),结果是 10

输入:r = file_obj.write('今天天气真不错' ),结果是 7

 

二、a 表示追加内容

如果文件不存在会创建文件,如果文件存在则会向文件中追加内容

将 w 改为 a ,with open(file_name , ' a ', encoding= ' utf-8 ') as file_obj:

 

三、x 用来新建文件

如果文件不存在则新建,存在则报错

 

 

四、+ 为操作符增加功能

r+    既可读又可写,文件不存在会报错

w+   在写的基础上增加读的功能

a+    在追加内容上变成可读的

相关文章
|
2月前
|
人工智能 JSON 前端开发
ChatGPT如何实现聊天一样的实时交互?快速读懂SSE实时“推”技术
本文将带你快速认识SSE实时通信协议,包括它的技术原理、常见使用场景、与同类技术的对比以及简单的示例代码等。
145 0
ChatGPT如何实现聊天一样的实时交互?快速读懂SSE实时“推”技术
|
安全 自动驾驶 物联网
5G技术概览:开启万物互联新时代
【10月更文挑战第23天】
505 1
|
存储 缓存 网络协议
第五问:一个程序从点击到启动发生了什么?
一个可执行程序从用户点击启动到运行,经历了8个主要阶段:用户触发启动、操作系统查找文件、进程创建、可执行文件加载到内存、初始化程序上下文、执行程序入口点、程序运行和程序退出。涉及硬盘、内存、缓存等硬件交互。
|
数据可视化 安全 大数据
NIFI是什么工具?优点是什么?
【10月更文挑战第21天】NIFI是什么工具?优点是什么?
645 1
|
SQL 安全 Linux
命令执行漏洞
命令执行漏洞
|
安全 开发者 iOS开发
如何获取安全获取苹果udid,imei
【8月更文挑战第12天】在iOS系统中,苹果出于隐私考量已禁止开发者直接获取设备UDID与IMEI。替代方案包括:1) **供应商标识符** (`[UIDevice currentDevice].identifierForVendor`),适用于同一开发者账号下的应用,可能随应用卸载重装而变化;2) **广告标识符** (`[ASIdentifierManager sharedManager].advertisingIdentifier`),用于广告追踪,用户可选择重置或限制。处理这些标识符时务必遵守苹果隐私政策。
516 1
|
编解码 人工智能 自然语言处理
MaskGCT:登上GitHub趋势榜榜首的TTS开源大模型
近日,香港中文大学(深圳)联手趣丸科技推出了新一代大规模声音克隆TTS模型——MaskGCT。一起看看该模型的一些表现吧!
|
网络协议 Linux 测试技术
基于PING命令的主机探测
基于PING命令的主机探测
342 3
|
机器学习/深度学习 人工智能 自然语言处理
Transformer介绍
Transformer模型于2017年由Google提出,其在BERT中大放异彩,革新了NLP领域。Transformer的优势在于并行计算能力和处理长距离依赖,通过自注意力机制避免了RNN/LSTM的梯度问题。它由编码器和解码器组成,使用位置编码处理序列信息。Transformer在机器翻译、文本生成、问答系统等多个任务中提升效率和准确性,并扩展至计算机视觉和语音识别。随着AI发展,Transformer成为大模型核心技术,推动整个产业进步。
|
开发工具 git
【git】git 查看 modified 状态文件与上个版本的改动
【git】git 查看 modified 状态文件与上个版本的改动
669 0