Python文件的读写操作
Python文件的使用
要点:Python能够以文本和二进制两种形式处理文件。
1.文件的打开模式,如表1:

注意:使用open()函数打开文件,文件使用结束后耀使用close()方法关闭,释放文件的使用授权。
2.文件的读写
2.1文件的写入方法,如表2:

2.1.1示例一
fname =input("请输入要写入的文件:")
#以追加形式写入文件
fo = open (fname,"w+")
#定义列表
ls = ["唐诗","宋词","元曲"]
fo.writelines(ls)
#从文件开头开始写入
fo.seek(0)
#循环打印出写入文件中的内容
for line in fo:
print(line)
#关闭文件(避免资源占用)
fo.close()
2.1.2运行结果

2.2文件的读取方法,如表3:

注意:文件的换行符
1.如果采用二进制的方式打开文件,换行符只是一个符号,对应一个字节,表示为“\n”;
2.如果采用文本方式打开文件,换行符表示一行的结束,辅助程序对文件的处理。文件的换行符是真实存在的一个字符。
2.2.1示例二
fname1 =input("请输入要打开的文件:")
# 以只读取的方式读取文件内容
fo1 = open (fname1,"r")
fo1.readlines()
# 从文件开头开始读取文件内容
fo1.seek(0)
# 循环打印出文件的内容
for line1 in fo1:
print(line1)
# 关闭文件(避免资源占用)
fo1.close()
2.2.2运行结果

3.由于在实际编码中,对文件的操作是十分频繁的,编写代码时,如果按照以往的规则,靠手动关闭文件,难免会出现忘记关闭文件的现象,因此,Python在技术上提供了自动关闭文件的功能,减轻程序员的代码编写负担,也避免忘记关闭文件,而造成的资源浪费和程序稳定。(小型操作文件时,不关闭文件,对程序的影响较小。但在大型的系统中,如果文件不及时关闭,会导致系统的崩溃)
3.1优化后的代码如下:
# 文件读写编码格式
# 'demo.txt'文件名,读取方式,文本格式
with open('demo.txt','r',encoding='utf-8') as f:
for line in f.readlines():
# end=''控制文本中换行时不读取出换行号
print(line,end='')
# 定义列表
ls = ["sunny","dghahdfg"]
with open('demo.txt','a',encoding='utf-8') as f:
for line in ls:
# 写入文件
f.write('{}\n'.format(line))
4.小练习----统计文件中内容的行数(三种方式实现)
with open('demo.txt','r',encoding='utf-8') as f:
for line in f.readlines():
# end=''控制文本中换行时不读取出换行号
print(line,end='')
# 计算行数1
# 文档中的内容以行为单位为列表的一个元素,存入列表
ls=f
# 调用计算列表元素个数函数len()统计行数
print(len(ls))
# 计算行数2
count = len(open('demo.txt', 'r').readlines())
print(count)
# 计算行数3
count = 0
for index, line in enumerate(open('demo.txt','r')):
count += 1
print(count)
Python文件的读写操作的更多相关文章
- [ Python ] 文件的读写操作
1. 文件读写操作 读写文件是最常见的 IO 操作, Python 内置了读写文件的函数.在磁盘上读写文件的功能是由操作系统提供的,所以读写文件是请求操作系统打开一个文件对象(通常称为文件描述符),然 ...
- 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)
目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...
- python使用装饰器对文件进行读写操作'及遍历文件目录
'''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...
- Python中xlrd、xlwt、win32com模块对xls文件的读写操作
# -*- coding: utf-8 -*- #xlrd和xlwt只支持xls文件读写,openpyxl只支持xlsx文件的读写操作 import xlrd import xlwt import w ...
- INI 文件的读写操作
在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...
- Android 对 properties文件的读写操作
-. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...
- C++学习48 对ASCII文件的读写操作
如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...
- Delphi- ini文件的读写操作
一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...
- android报错及解决2--Sdcard进行文件的读写操作报的异常
报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...
随机推荐
- Java基础之(四)HashMap(jdk10)
JDK1.7以前的HashMap jdk1.7中,当冲突时,在冲突的地址上生成一个链表,将冲突的元素的key,通过equals进行比较,相同即覆盖,不同则添加到链表上,此时如果链表过长,效率就会大大降 ...
- [转帖]JAVA BIO与NIO、AIO的区别(这个容易理解)
JAVA BIO与NIO.AIO的区别(这个容易理解) https://blog.csdn.net/ty497122758/article/details/78979302 2018-01-05 11 ...
- AVR单片机教程——按键状态
好久没更新了,今天开始继续,争取日更. 今天我们来讲按键.开发板的右下角有4个按键,按下会有明显的“咔嗒”声.如何检测按键是否被按下呢?首先要把按键或直接或间接地连接到单片机上.与之前使用的4个LED ...
- 『Go基础』第6节 注释
在上一节中, 我们学会了怎样写一个 Hello Go . 但是, 大家有可能还没有明白为什么那么写, 下面我们通过注释来了解一下. 注释的重要性不再过多赘述, 一段不写注释的代码读起来实在难受. 那么 ...
- Java中关于Math的几个取整方法的区别
1.Math.ceil() 向上取整 System.out.println(Math.ceil(3.4)); //输出4 System.out.println(Math.ceil(3.7)); / ...
- 【转载】C#中string类使用Remove方法来移除指定位置的字符
在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...
- php生成一维码以及保存-转载
地址:http://www.cnblogs.com/ForEvErNoME/archive/2012/04/21/2460944.html 注释掉: //header('Content-Type: i ...
- 常用的HTTP响应头
响应头 说明 示例 状态 Access-Control-Allow-Origin 指定哪些网站可以跨域源资源共享 Access-Control-Allow-Origin: * 临时 Accept-Pa ...
- JavaScript箭头函数中的this详解
前言 箭头函数极大地简化了this的取值规则. 普通函数与箭头函数 普通函数指的是用function定义的函数: var hello = function () { console.log(" ...
- Unable to guess the mime type as no guessers are available 2 9
做了一个上传图片的功能,在本地上传通过,服务器报 bug Unable to guess the mime type as no guessers are available(Did you enab ...