首页
学习
活动
专区
圈层
工具
发布
36 篇文章
1
形式验证与formality基本流程
2
安全地启动sequence
3
【UVM COOKBOOK】Testbench Architecture【二】
4
【UVM COOKBOOK】Testbench Architecture【一】
5
svlib文档翻译(第一至四章)
6
svlib文档翻译(第五章)
7
浅谈便携式激励(PSS)和UVM
8
便携式激励vs形式化vsUVM验证方法在IP块的整个生命周期中的比较分析
9
通过字符串访问generate模块内部的变量
10
Verilog:笔试面试常考易错点整理
11
【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
12
如何快速生成Verilog代码文件列表?(内附开源C代码)
13
IC工程师的通用技能:文本处理
14
NCVerilog+SimVision+Vivado仿真环境搭建
15
串扰
16
论STA | 数字电路中的串扰
17
STA | 串扰,理论分析
18
低功耗 | UPF + CLP
19
combinational clock gating Vs sequential clock gating
20
Clock Domain Crossing, 跨时钟域检查
21
低功耗 | Glitch Power 分析
22
P&R | 如何在实现全流程中考虑IR-Drop
23
点论 | 组合逻辑环 Combinational loop 知多少
24
UVM的一个简单验证demo
25
systemverilog之Automatic
26
【手把手系列】:芯片设计中的Makefile简明教程
27
“ 一网打尽 ” 二进制、格雷码、独热码编码方式
28
分而治之(Hierarchical Sequences),处理复杂事物的绝对准则
29
断言(assertion),把黑盒变成白盒
30
针对assertion based验证的一些“建议”和“不建议”
31
python脚本练习(5):读写文件步骤
32
python脚本练习(4):正则表达式实例
33
python脚本练习(3):正则表达式实例
34
python脚本练习(2):使用正则表达式的三部曲
35
python脚本练习(1):表格打印
36
VCS门级仿真系列文章之sdf文件和$sdf_annotate

python脚本练习(5):读写文件步骤

在IC研发中使用脚本读写文件是一个常见的事情,本文将介绍使用Python完成文件读写的三个步骤:

1.调用open()函数,返回一个File对象。

2.调用File对象的read()或write()方法。

3.调用File对象的close()方法,关闭该文件。

用 open()函数打开文件

在Python中可以使用open()函数打开文件。open()函数需要一个指向所需要操作的文件路径。

绝对路径

代码语言:javascript
复制
helloFile= open('C:\\Users\\wping\\Desktop\\wechat_digital_lab\\python\\helloworld.txt')

相对路径

代码语言:javascript
复制
helloFile= open('.\\hello world.txt')

读取文件

对于读取文件,我们需要在打开文件的同时指明即将对该文件的操作模式“r”。虽然打开文件时的默认操作模式是“r”,显式地指明操作模式可读性更强。

代码语言:javascript
复制
helloFile= open('C:\\Users\\wping\\Desktop\\wechat_digital_lab\\python\\helloworld.txt','r')

如果你在使用时发生这样的错误

代码语言:javascript
复制
UnicodeDecodeError:'gbk' codec can't decode byte 0x81 in position 13: incomplete multibytesequence

则需要加上encoding='UTF-

代码语言:javascript
复制
>>>helloFile = open('C:\\Users\\wping\\Desktop\\wechat_digital_lab\\python\\hello_world.txt','r',encoding='UTF

前面已经以读取模式打开了文件,下面再进行实际的文件内容读取。

代码语言:javascript
复制
>>>helloContent = helloFile.read()
>>>helloContent
'helloworld!\nhello world!'

上面读取的结果是一个大字符串。我们还可以使用readlines()将文本中的内容保存在一个列表中,如下所示:

代码语言:javascript
复制
>>>helloContent = helloFile.readlines()
>>>helloContent
['helloworld!\n', 'hello world!']

相比一个大的字符串,列表的形式更容易处理。

写入文件

类似的,我们可以写文件。这时候需要将“w”作为第二个参数传给open(),进行覆盖写模式操作,或者将“a”作为第二个参数传给open(),进行添加写模式操作。如果传递给open()函数的文件不存在,默认会在当前目录底下创建一个。

覆盖写模式操作

代码语言:javascript
复制
>>> secondFile =open('second.txt', 'w')
>>>secondFile.write('Hello world!\n')
13

添加写模式操作

代码语言:javascript
复制
>>> secondFile =open('second.txt', 'a')
>>>secondFile.write('Hello world!\n')
13
下一篇
举报
领券