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

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文本操作—读、写的更多相关文章

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

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

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

    这里我们用Windows下的shell来举例: from subprocess import * #因为是举例,就全部导入了 为了方便你理解,我们用一个很简单的一段代码来说明: 可以看见我们利用Pop ...

  3. python自学笔记(五)python文本操作

    一.python自带方法 r:read 读 w:write 写 a:append 尾行追加 先命令行进入python后 >>>d = open('a.txt','w') #在对应路径 ...

  4. 总结day7 ---- 文件操作,读,写,追加,以及相关方法

    内容大纲 一:文件的基本操作, >常见问题 >encoding >绝对路径和相对路径的 二:文件的读写追加相关操作 >读(r, r+ ,rb,r+b) >写(w,w+,w ...

  5. Python小实验——读&写Excel文件内容

    安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...

  6. python文本操作

    file_obj=file("文件路径","模式") 打开文件的模式有: r,以只读方式打开文件 w,打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该 ...

  7. Python文本操作2

    # list3 = [# {"name": "alex", "hobby": "抽烟"},# {"name&q ...

  8. C++文本操作.Vs.Python

    C++利用文件流: (1):读取一个字符 std::string TestTxt(argv[3]); // freopen(TestTxt.c_str(),"r",stdin);/ ...

  9. python的读写和写读操作

    # 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...

随机推荐

  1. windows server 几大实时同步软件比较

    需求: 从Windows Server 主机A 到 Windows Server 主机B 之间同步目录 方案一: 1. 使用bat脚本 + 计划任务的方式 1.1 bat脚本 功能: 把主机A的C:\ ...

  2. 如何在element-UI 组件的change事件中传递自定义参数

    以select为例,如果select写在循环里,触发change事件时可能不只需要传递被选中项的值,还要传递index过去,来改变同一循环中的其他标签的状态. 下面这样写是无效的: @change=& ...

  3. windows 10 防火墙设置规则:允许特定ip端口

    本例中以如何设置ip为10.242.62.239的电脑通过3306端口访问我的电脑 为例 1, 打开防火墙高级设置,如图所示,操作如下 入站规则->新建规则->自定义->下一步 2, ...

  4. 02-MySQL基础

    MySQL基础 1.存储引擎 1.1MyISAM MySQL5.5以及之前默认存储引擎MyISAM 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性.并发性要求不高,那么 ...

  5. C# 查看EF生成的SQL语句

    用sqlsever追踪最后的sql语句. 返回IQueryable<T>类型, 里面封装的就是生成的SQL脚本,设置断点queryable = DataContext.Set<T&g ...

  6. Putnam竞赛一道题及中科大自主招生试题的联系

    Putnam试题 For any positive integer n let denote the closest integer to $\sqrt{n}$,Evaluate $$\sum_{n= ...

  7. Cnario Player 接入视频采集卡采集外部音视频信号测试

    测试产品 型号: TC-D56N1-30P采集卡 参数: 1* HDMI 1.4输入, PCIe 接口为PCI-Express x4(Gen2), 最高支持4096x2160@30Hz, 支持1920 ...

  8. 一入OI深似海 2 —— 初中三年,颓废PJ

    初中,OI似乎没有真正进入我的生活. 三年PJ在我的生活中占比很少. 每天都是平淡无奇的文化课,晚上在写完作业之后还能休息一会儿. 每周六下午的OI课很短暂, 大部分时间我还是把我的重心放在学习上. ...

  9. [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构

    万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...

  10. Consecutive Sum LightOJ - 1269(区间异或和)

    Consecutive Sum 又来水一发blog... 本来是昨天补codechef的题,最后一道题是可持久化字典树,然后去黄学长博客看了看 觉得字典树写法有点不太一样,就想着用黄学长的板子写码几道 ...