Python 学习笔记17 文本 - 读写
在我们的编程过程中,我们经常需要对文件进行读写操作。
在Python中,对文本的读写非常的方便,只需要简单的几行代码就可以实现。
我们首先新建一个文本文件"Text.txt", 里面有很多的内容,我们尝试将其全部读出来
with open('Text.txt') as file_object:
contents = file_object.read()
print(contents) '''
输出:
查询出系统中最慢的SQL语句
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT TOP 20
CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2))
AS [Total Elapsed Duration(s)]
, qs.execution_count
, SUBSTRING (qt.text, (qs.statement_start_offset/2) + 1,
.....
..... '''
我们看到,使用open的方式,我们可以打开一个文本对象,并通过read函数,将文本中的内容全部读出来了。和其他的语言不同的是,代码中我们没有使用close将文本关闭。
Python会自动进行管理,在文本不再使用的时候或者合适的时候将其关闭,当然你也可以人工将其关闭,以节约资源。
with open('Text.txt') as file_object:
contents = file_object.read()
print(contents)
file_object.close()
逐行读取文本:
with open('Text.txt') as file_object:
for line in file_object:
print(line)
file_object.close()
'''
输出:
查询出系统中最慢的SQL语句
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT TOP 20
CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2))
AS [Total Elapsed Duration(s)]
, qs.execution_count
, SUBSTRING (qt.text, (qs.statement_start_offset/2) + 1,
.....
..... '''
使用列表存储文本中的内容,我们可以使用readlines将文本按行读出,并赋值给一个列表,为其他代码使用:
with open('Text.txt') as file_object:
lineslist = file_object.readlines()
file_object.close() print(len(lineslist))
print(lineslist[1])
'''
输出:
187
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED '''
通过以上的方式我们可以简单的对文件进行读操作。
接下来我们可以尝试写一个文本:
with open('write.txt', 'w') as file_object:
file_object.write('hello world!')
file_object.close() '''
输出:
hello world! '''
上述代码中,我们尝试对一个python相同目录下的名叫 ‘write.txt’的文本中写入一段文字 ‘hello world!’。如果该文件不存在,python会默认新建一个。
我们也可以向文件中写入多行的文件,注意使用换行符:
with open('write.txt', 'w') as file_object:
file_object.write('hello world!\n')
file_object.write('hello ralf!\n')
file_object.write('hello rachel!\n')
file_object.write('hello wowo!\n')
file_object.close() '''
输出:
hello world!
hello ralf!
hello rachel!
hello wowo! '''
需要注意的是使用 'w'模式,会对文本进行覆盖写入,所以我们可以使用 ‘a’附加模式,对文件的内容进行附加:
with open('write.txt', 'w') as file_object:
file_object.write('hello world!\n')
file_object.write('hello ralf!\n')
file_object.write('hello rachel!\n')
file_object.write('hello wowo!\n')
file_object.close() with open('write.txt', 'a') as file_object:
file_object.write('hello Python!\n')
file_object.close()
'''
输出:
hello world!
hello ralf!
hello rachel!
hello wowo!
hello Python!
'''
通过上述的代码我们可以看出,实际上我们对文本的操作就是通过 open创建一个文本对象,根据不同的模式选择读,写,附加等相关的操作:
file object = open(file_name [, access_mode][, buffering])
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
其他的相关的参数和流程如下:
以下内容来自于:
作者:呆呆的猫
来源:CSDN
原文:https://blog.csdn.net/jiaoyangwm/article/details/79635271
版权声明:本文为博主原创文章,转载请附上博文链接!
- 模式 描述
- r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
- r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
- rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
- w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
- wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
- wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
Python 学习笔记17 文本 - 读写的更多相关文章
- 转载-Python学习笔记之文件读写
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...
- python学习笔记 IO 文件读写
读写文件是最常见的IO操作.python内置了读写文件的函数. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统完成的,现代操作系统不允许普通的程序直接对磁盘进行操作,所以, 读写 ...
- Python学习笔记17—Tornado
实例 #!/usr/bin/env Python #coding:utf-8 import tornado.httpserver import tornado.ioloop import tornad ...
- python学习笔记17(动态类型)
动态类型 在我们接触的对象中,有一类特殊的对象,是用于存储数据的,常见的该类对象包括各种数字,字符串,表,词典.在C语言中,我们称这样一些数据结构为变量,而在Python中,这些是对象. 对象是储存在 ...
- Python学习笔记九-文件读写
1,读取文件: f=open('目录','读写模式',encoding='gbk,error='egiong') 后三项可以不写但是默认是' r'读模式:open函数打开的文件对象会自动加上read( ...
- Python学习笔记17:标准库之数学相关(math包,random包)
前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e # 自然常数e math.pi # 圆周率pi 运算函数 math ...
- Android学习笔记(17):文本框TextView类
TextView继承自View.用于显示文本.它有很多的子类,掌握其属性是非常重要的. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5 ...
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- 近期Python学习笔记
近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...
随机推荐
- Linux环境下安装Django和Python
1 下载前准备操作:安装相关的依赖库(工具包) yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...
- TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
- sort对数组排序
描述 Array的sort方法用于对原数组进行排序,不会产生新的数组.排序默认的规则是按照数组元素的字符编码进行排序.如果要按照自己的意愿对数组进行升序或者降序排序,就需要对sort传入一个比较函数 ...
- VMWare15 安装 Mac OS 系统
文章目录VMWare15 安装 Mac OS 系统安装环境工具准备准备工作MAC虚拟机设置启动MAC前准备工作安装系统安装VMware Tool注意事项参考链接安装环境WIN10VMware Work ...
- linux Sersync 参数说明
Sersync 的可选功能是通过 xml 配置文件来实现的,下面来为大家解释该文件! 在该文件中,使用<!--中间是注释内容-->的方式去注释信息,注意不是我们平时# [root@SERS ...
- 在eclipse中添加和删除项目
一. 将JAVA文件夹导入Eclipse中的方法: 方法一:直接将java文件夹复制,然后粘贴到项目下: 方法二:(1)打开Eclipse,点击项目的空白处,现在import: (2)现在Existi ...
- 82-基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡)
基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡) 1.板卡特点: 1) 主芯片采用Xilinx Virtex-5LXT FPGA. 前面板提供4路光纤接口,速率可 ...
- php 输出缓冲
<?php ob_start();//开启php输出缓冲区 echo "A"; //"A"会进入php输出缓冲区 ob_flush();//将php输出缓 ...
- vue子传父、父传子
子传父 vue子传父使用$emit传值 子组件: <template> <div> <button @click="toParent">点击传到 ...
- web框架之初识Django
目录 一.web框架 1.1什么是web框架 1.2自制的简易web框架 1.3三大主流web框架简介 Django Flask Tornado 1.4动态网页与静态网页 二.初识Django框架 2 ...