python3文本文件读取方法_[Python3] 读取文本文件[TZZ]

1

在系统磁盘上(比如:D盘)新建一个名为test的目录,然后新建一个文本文件并命名为“readfile.txt”;

988e1c532f63238514f22725cce833e038725d19.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

打开“readfile.txt”文件,写入下图所示的测试字符后,保存并关闭该文件;

baab20863048614329108d858febf6a75e0f5319.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

启动IDLE,点击菜单栏中的“File > New File”新建一个文件;

75af02324b18512c84341d13ad334884cce34919.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

在弹出的“Python编辑器”中,点击菜单栏上的“File > Save“保存新文件。保存位置指定为之前创建的”test目录“,文件命名为”read_text_file“;

874f6275e5f4fcf5fac8ff7a21d7726b0de2bd19.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

65390a23beb9763e3e077e626ad06de89b61b019.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

Python中读取文本文件的基本流程为“打开文件 > 读取文件 > 关闭文件”,对应的API函数为“open() > read()/readLine() > close()”。其中read()用于读取指定个数的字符或者全部字符内容,readLine()通常用于读取一行内容,详情请在Python3帮助文档中搜索“IOBase”;

6

在Python编辑器中输入“使用for..in循环遍历文本行”的代码并保存,然后点击菜单栏上的“Run > Run Modules”运行代码。代码执行结束后,可以在Shell窗口中见到程序打印的文本内容。提示:Python中打开的文本文件可以直接用for..in遍历每一行的数据,这是通用的文本行遍历方法;

d04eec260d9a310e3a5c2c9e31b842406bfea219.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

7

继续在Python编辑器中追加“使用while循环遍历文本行”的代码并保存。然后点击F5运行程序。程序运行正确,则两次输出的结果应该是一致的。调用readline()时,如果到达文件结尾,则该函数会返回一个空字符串。基于这一点,可以充当while循环的退出条件;

94af5fc1b727ac533e4d54982ecadce891489919.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

8

继续在Python编辑器中追加“读取指定文本行”的代码并保存运行。在Shell窗口中,可以见到第5行的内容。在代码的for..in循环中,用到了enumerate()函数和目标标识符。另外,由于文本文件的行编号从0开始,因此查找指定行需要执行减1操作;

5e615d715fdb3620fdff083dabc5260f89358d19.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

9

继续在Python编辑器中追加“打印字符与存储位置”的代码并保存运行。在代码无误时,可以在Shell中见到打印出的位置与字符的列表。在这段代码中,通过文件对象的seek()方法获得了文件长度,然后循环读取每个字符。为了打印出所有字符,使用了%r格式化输出的字符串;

444696013870d541754963bc2e0f94fc518c8019.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

10

通过上面的代码,你应该已经明白了文本文件内容的存储规则,以后可以通过seek()读取指定位置的字符内容。Enjoy!

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值