python入门精讲笔记-06-file
2022/7/13 1:25:53
本文主要是介绍python入门精讲笔记-06-file,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
06. 文件 file
@(Python入门精讲课程)
[TOC]一、文件的基本语法
open('文件名',mode)
mode | 意义 | 备注 |
---|---|---|
'r' | 只读的方式打开 | |
'w' | 写入的方式打开 | 如果无文件,创建文件。如果有清除文件内容 |
'a' | 追加的方式打开 | 将内容添加到文件的末尾 |
'b' | 二进制的方式打开 | |
'+' | 以可读可写的方式打开 | r+ 或w+ 或a+ |
r':读
'w':写
'a':追加
'r+' == r+w(可读可写,文件若不存在就报错(IOError))
'w+' == w+r(可读可写,文件若不存在就创建)
'a+' ==a+r(可追加可写,文件若不存在就创建)
对应的,如果是二进制文件,就都加一个b就好啦:
'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
with open(r'd:\data.txt', 'r+') as f: f.write('现在是2018/8/30的晚上\n无需手动close文件') # 写入文件的时候,指针移动到了文件的末尾,需要再移到开头 f.seek(0) print(f.read())
结果:
>>> myfile = open(r'd:\test.txt','w') 会在d盘下生成一个test.txt的文件
1.1 写入到文本文件
直接使用open()函数来创建、写入文件
>>> myfile = open(r'd:\test.txt','w') >>> myfile.write('今天是星期四\n') 7 >>> myfile.write('转义字符使用反斜杠\n') 10 >>> myfile.close()
文件效果如下:
1.2 文件的读取使用.read()方法
1.2.1使用文件的.read()的方法,可以读取文件中的所有的内容。
1.2.2但是需要注意的是,read()后的指针会移动到末尾,如果再次读取文件为空
1.2.3文件读取后,记得要close()文件
>>> myfile = open(r'd:\test.txt','r') >>> myfile.read() '今天在下雨啊\n明天不知道是什么天气\n' >>> myfile.read()
1.2.4读取文件的一行操作
使用.readline()来读取文件中的一行的内容,一直读到文件的末尾为空
>>> myfile.readline() '今天在下雨啊\n' >>> myfile.readline() '明天不知道是什么天气\n' >>> myfile.readline() ''
1.2.5读取文件的所有行
readlines()可以读取文件中的所有行,可以将每一行作为一个元素放到list中
>>> myfile.readlines() ['今天在下雨啊\n', '明天不知道是什么天气\n']
1.2.6设置文件操作的编码方式
在文件打开的时候,就设置文件的编码格式,如下encoding='utf-8'
或者encoding='utf8'
都可以
>>> f = open(r'd:\edit.txt','w',encoding='utf-8') >>> f.write('今天晚上有些下雨') 8 >>> f.close()
二、使用with open()上下文来实现自动打开关闭file
如果使用open()方法,需要每次手动关闭文件。python提供了另外一种:with open()一旦跳出了覆盖范围,会自动关闭文件
with open(r'd:\data.txt', 'w') as f: f.write('现在是2018/8/30的晚上\n无需手动close文件') with open('d:\data.txt', 'r') as f: print(f.read())
为什么会有换行??因为print()中的end默认为\n
三、二进制文件的操作
2.1使用pickle模块进行二进制文件的读写
二进制的文件的后缀可以任意定义,使用pickle
模块可以用于存储和读取数据。
# 使用pickle的.dump()方法写入文件 import pickle book = dict(title='Python入门学习', price=39.00, author='Tony') f = open(r'd:\data.hyt', 'wb') pickle.dump(book, f) f.close() # 使用pickle的.load()方法读取文件 # 注意的这里要再次用rb的方式打开文件 f = open(r'd:\data.hyt', 'rb') # 直接使用read()方法读取试看看 print(f.read(), flush=True) # 读取完成后将指针放到开头 f.seek(0) # 使用pickle下的load读取 book_content = pickle.load(f) print(book_content) f.close()
运行的结果如下:
b'\x80\x03}q\x00(X\x06\x00\x00\x00authorq\x01X\x04\x00\x00\x00Tonyq\x02X\x05\x00\x00\x00priceq\x03G@C\x80\x00\x00\x00\x00\x00X\x05\x00\x00\x00titleq\x04X\x12\x00\x00\x00Python\xe5\x85\xa5\xe9\x97\xa8\xe5\xad\xa6\xe4\xb9\xa0q\x05u.' {'author': 'Tony', 'price': 39.0, 'title': 'Python入门学习'}
这篇关于python入门精讲笔记-06-file的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享