python文本操作—读、写
文本文件存储的数据有很多,我们需要把这些文本里的内容读出来,然后在浏览器上面显示。
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文本操作—读、写的更多相关文章
- day9 python学习 文件的操作 读 写 seek
文件的操作 1 文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...
- Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
这里我们用Windows下的shell来举例: from subprocess import * #因为是举例,就全部导入了 为了方便你理解,我们用一个很简单的一段代码来说明: 可以看见我们利用Pop ...
- python自学笔记(五)python文本操作
一.python自带方法 r:read 读 w:write 写 a:append 尾行追加 先命令行进入python后 >>>d = open('a.txt','w') #在对应路径 ...
- 总结day7 ---- 文件操作,读,写,追加,以及相关方法
内容大纲 一:文件的基本操作, >常见问题 >encoding >绝对路径和相对路径的 二:文件的读写追加相关操作 >读(r, r+ ,rb,r+b) >写(w,w+,w ...
- Python小实验——读&写Excel文件内容
安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...
- python文本操作
file_obj=file("文件路径","模式") 打开文件的模式有: r,以只读方式打开文件 w,打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该 ...
- Python文本操作2
# list3 = [# {"name": "alex", "hobby": "抽烟"},# {"name&q ...
- C++文本操作.Vs.Python
C++利用文件流: (1):读取一个字符 std::string TestTxt(argv[3]); // freopen(TestTxt.c_str(),"r",stdin);/ ...
- python的读写和写读操作
# 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...
随机推荐
- Windows Server 2008 R2 Enterprise x64 部署 nginx、tomcat、mysql
部署nginx nginx主要做反向代理用,可以单独部署到其它机器上,这里nginx和tomcat部署在同一台机器上. 下载nginx-1.14.1.zip,并解压到目标目录,打开cmd进入到解压后的 ...
- CDH集成Kafka,两种方式:离线、在线
1.离线 先下载相应版本的kafka http://archive.cloudera.com/kafka/parcels/ 然后放置相应目录,如下图: 然后直接添加组件即可 2.在线 配置相应的kaf ...
- [十二省联考2019]D1T1异或粽子
嘟嘟嘟 做这题之前,强烈推荐先把这道题切了P1631序列合并. 这两道题思路基本一模一样. 首先把异或处理成前缀异或,然后维护一个大根堆,每一次取出堆顶加到答案里面,然后把堆顶所在元素的次大的异或值放 ...
- 了解基本的bash shell命令
本节内容主要介绍如何使用bash shell提供的基本命令处理Linux文件和目录: 1.启动shell shell是一个可以交互访问的Linux系统程序,它的运行与普通程序相同,系统启动的shell ...
- 01-Redhat/Centos7网卡命名介绍及修改方式
1. Redhat/Centos7网卡命名介绍 1.1 网络设备命名 Redhat/Centos7提供在网络接口中使用新的网络设备命名方法.这些功能会更改系统中的网络接口名称,以便定位和区分这些接口. ...
- codeforces#1139E. Maximize Mex(逆处理,二分匹配)
题目链接: http://codeforces.com/contest/1139/problem/E 题意: 开始有$n$个同学和$m$,每个同学有一个天赋$p_{i}$和一个俱乐部$c_{i}$,然 ...
- 启用shopt 选项实现不使用 CD 命令进入目录/文件夹
众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录.这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题. shopt 是一个 shell 内置命令,用 ...
- 什么是CAS机制?(转)
围绕下面四个点展开叙述: 一:什么是CAS机制? 二:Java当中CAS的底层实现 三:CAS的ABA问题和解决方法 四:java8对CAS的优化 一:什么是CAS机制? 我们先看一段代码: 启动两个 ...
- 全面系统讲解CSS 工作应用+面试一步搞定
- windows系统下的特殊目录导致的FileNotFoundException
环境:下面只有JDK(内含jre),没有外在的jre 读取的两个文件都是存在的,只是文件名不同 运行结果1 运行结果2 切换JDK 运行结果3: 运行结果4: 请留意:C:\windows\syste ...