文本文件存储的数据有很多,我们需要把这些文本里的内容读出来,然后在浏览器上面显示。

1.读取整个文本文件

格式:

with open(路径) as 变量:

变量.read()

关键字with作用:在不需要访问文件后将其关闭。在程序中调用了open(),没有调用close(),可以自己去手动调用close()关闭文件,如果程序存在一些bug,而我们又没有很好的关闭它,会导致文件的损坏或其他的一些错误。那么我们就让Python自己去关闭文件。

open():函数是将文件打开,在读取一个文件的时候都需要先把这个文件打开,然后把文件的路径传给它即可。也可以在open()函数里指定字符编码(encoding=‘utf-8’).

as 变量:是将open()的文件作为一个对象,然后将这个对象赋值给as后面的变量,然后通过这个变量去调用read()函数读取这个文件的全部内容(内容是被作为一个长长的字符串读取出来的),可以赋值给其他变量,或者用print直接输出。

注:如果你使用Windows的文本,在读取文件内容完成后,在第一个字前会显示一个点或者其他的东西。因为Windows文本工具在保存utf-8编码的时候都会在每个文件开头前会添加一个十六进制的字符。请使用Notepad++或类似于这样的工具去保存,如果使用Windows文本工具时,保存的时候注意编码保存为utf-8(在学习过程中出现过这样的问题,并且查询百度已解决).

例:

with open('abcd.txt',encoding='utf-8') as abcd:

a=abcd.read()

print(a.rstrip())

结果:

如果你写过大规模的 Shell 脚本,应该会有过这样的体会:你还非常想再加一些别的功能进去,但它已经太大、太慢、太复杂了;或者这个功能需要调用一个系统函数,或者它只适合通过 C 来调用

rstrip():删除字符串末尾指定的字符,默认是空格。

格式:

str.rstrip(char)

char:默认是空格。

返回值:删除指定字符后生成新的字符串。

2.文件路径

在open()方法里可以放置相对路径或者绝对路径。

相对路径:让Python去指定的文件下查找该文件。在a这个文件夹下去查找,python去盘符里查找a文件夹和adcd文件(这里指windows)。

例:

with open('\\a\\adcd.txt',encoding='utf-8') as abcd:

a=abcd.read()

print(a.rstrip())

绝对路径:把这个文件的准确位置给python,精确到盘符。例:

with open('D:\\a\\adcd.txt',encoding='utf-8') as abcd:

a=abcd.read()

print(a.rstrip())

还有一种就是把文件和代码放在一起,它们都在一个目录下,只写文本名就可以,如果不在项目下必须使用绝对路径或相对路径,否则会报错。

例:

with open('abcd.txt',encoding='utf-8') as abcd:

a=abcd.read()

print(a.rstrip())

注:在Windows中路径都是用反斜杠。

3.逐行读取

(1).把文本对象遍历出来

例:

filename='abcd.txt'

with open(filename,encoding='utf-8') as abcd:

for line in abcd:

print(line.rstrip())

(2).readlines():读取文本里的每一行内容,并存储到一个列表中。

例:

with open(filename,encoding='utf-8') as abcd:

lines=abcd.readlines()

str=''

for line in lines:

str+=line.rstrip()

print(str)

replace():替换字符串函数

语法:

变量.replace(old,new,max)

old:代表旧的字符串

new:代表新的字符串

max:替换最大的次数

4.写入文件

读取模式:r

写入模式:w

附加模式:a

读写模式:r+

如果省略了这些模式,python默认为读取模式。

writhe:将字符串写入文件,如果没有该文件它会创建一个空白文件,已经有文件并且还有内容,那应该用附加模式(a),如果你继续用写入模式会把原来的覆盖掉。

注:模式参数一定要写在第二个,否则会报错。如果还要添加其他参数,请用help()函数查看open的语法。

注:用附件模式时,如果要在文件中另起一行,必须在字符串后面跟\n进行换行。写入多行时也是如此。

例:

filename='acd.txt'

with open(filename,'w',encoding='utf-8') as acd:

acd.write('哈哈哈哈哈哈')

python朗读文本_python文本操作—读、写相关推荐

  1. python库读取cif文件_Pymatgen读/写各种文件,pymatgen,读写

    pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质,它也提供了大量VASP计算 ...

  2. python单词反转_python文本 字符串逐字符反转以及逐单词反转

    python文本 字符串逐字符反转以及逐单词反转 场景: 字符串逐字符反转以及逐单词反转 首先来看字符串逐字符反转,由于python提供了非常有用的切片,所以只需要一句就可以搞定了 >>& ...

  3. day9 python学习 文件的操作 读 写 seek

    文件的操作 1   文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...

  4. python关键词统计_Python文本处理2个小案例(文本嗅探与关键词占比统计)

    问题描述:有一些句子和一些关键词,现在想找出包含至少一个关键词的那些句子(文本嗅探),可以参考print('='*30)之前的代码.如果想进一步计算每个句子中的关键词占比(句子中所有关键词长度之和/句 ...

  5. python里写在文件的指定行_python文件操作如何写在指定的行

    常常在操作文件时我们只想在某一行的插入信息,可以先将文件读入列表中,利用列表的下标插入文本,之后再重新写入文件. 但是弊端是,如果文件量太大列表的性能可能不是很高. python代码:#coding= ...

  6. python写入指定行_python文件操作如何写在指定的行

    常常在操作文件时我们只想在某一行的插入信息,可以先将文件读入列表中,利用列表的下标插入文本,之后再重新写入文件. 但是弊端是,如果文件量太大列表的性能可能不是很高. python代码:#coding= ...

  7. Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信

    http://www.cnblogs.com/suwings/p/6216279.html #run.py from subprocess import * import threading impo ...

  8. python数据清洗实例_Python文本清洗案例分析:直播弹幕数据清洗

    任务需求 清洗json格式的弹幕数据(以"聆听丶芒果鱼直播间时间切片弹幕.json"为例),具体要求如下: 提取出所有弹幕类型(列表中的第1个元素)为"NM"的 ...

  9. python处理二进制文件_python文件操作之二进制

    列表项 三元运算符号: a=3 b=7 val=a if a>b else val=b print(val) 文件处理 首先给你一个文件,或者自己建立一个文件,那如何查看文件的内容呢? 1.安装 ...

最新文章

  1. Nginx主主负载均衡架构
  2. android 模拟器配置上网_10 款主机模拟器,让你畅玩全球大作,嗨到飞起
  3. 用WPF开发Mapxtreme-- 在.net 4.0 下面开发WPF mapxtreme 程序
  4. 4 网络、挂载、关机
  5. 戴尔融合“刀片”+双活存储助用户三网改造
  6. Linux安装BerkleyDB
  7. JS学习笔记 等于和包装对象
  8. C语言 main函数参数 argc,argv 用处,控制台应用程序模板2
  9. 算法竞赛入门经典训练指南
  10. arm开发板放张图片动起来_Python与Zynq的桥梁,米尔PYNQ开发板来了
  11. 【Chapter 1】什么是软件架构
  12. libsvm警告: WARNING: reaching max number of iterations 解决办法
  13. 在html中加入一个动态图,图片上加gif图片 图片某个角落贴个gif动态图,如何在静态图片上面加一张GIF动态图...
  14. VLOOKUP函数使用及注意事项
  15. Knight On the Chessboard
  16. 【CAN通信】CAN协议详解
  17. TCP/IP技术回顾(3)—网际层
  18. GamingAnywhere 一:GA初览
  19. gitee码云的使用
  20. python绘制饼图的如何设置高度宽度_Matplotlib添加pictu时调整饼图大小

热门文章

  1. windows安装多个maven_全网最容易理解的Maven安装、配置、集成演示
  2. 问题记录:既然MAC能唯一标识一台设备,那为什么我们还需要IP呢?
  3. 洛谷P2234 [HNOI2002]营业额统计 set简易解法
  4. linux+即时通讯服务器,linux平台上的即时通讯应用开发
  5. python for循环练习
  6. Python基础——类(Class)
  7. 【Quartz】解密properties配置文件中的账号密码
  8. Linux下部署MongoDB
  9. linux 测试工具
  10. jQuery中iframe的操作