[Python]打开文件的模式

Python中以sys.open()方法打开文件

1 import sys
2
3 file = open("D:\\file.txt")

其中可在第二个参数的位置指定打开文件的模式

1 import sys
2
3 file = open("D:\\file.txt", "r")

参数共有以下几种:

rU或Ua 以读方式打开,同时提供通用换行符支持(PEP278)
wb 以写方式打开,
a 以追加模式打开(从EOF开始,必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开(参见w)
a+ 以读写模式打开(参见a)
rb 以二进制读模式打开
wb 以二进制写模式打开(参见w)
ab 以二进制追加模式打开(参见a)
rb+ 以二进制读写模式打开(参见r+)
wb+ 以二进制读写模式打开(参见w+)
ab+ 以二进制读写模式打开(参见a+)

下面对一些常用模式(r+, w+, a+)稍作测试:

r+:

在对应文件不存在时:

1 file = open("D:\\file.txt", "r+")

导致IO错误

IOError: [Errno 2] No such file or directory: ‘D:\\file.txt‘

在对应文件存在时:

1 import sys
2
3 sys.stdout = open("D:\\file.txt", "r+")
4 print "this is second line"

将导致原文件内容被擦除,变为:

this is second line

w+:

在对应文件不存在时:

1 import sys
2
3 sys.stdout = open("D:\\file.txt", "w+")
4 print "this is second line"

将创建新文件file.txt并写入内容

在对应文件存在时:

上述代码将导致原文件内容被擦除,变为:

this is second line

a+:

在对应文件不存在时:

1 import sys
2
3 sys.stdout = open("D:\\file.txt", "a+")
4 print "this is second line"

将创建新文件file.txt并写入内容

在对应文件存在时:

上述代码将会把内容写入文件末尾,文件内容变为:

this is first line
this is second line

综上,各模式功能总结如下:

  创建文件 覆盖 or 添加
r+ 覆盖
w+ 覆盖
a+ 添加

[Python]打开文件的模式

时间: 2024-10-09 07:55:30

[Python]打开文件的模式的相关文章

Python open文件读写模式说明

对于Python打开文件的模式,总是记不住,这次在博客里记录一下 r+: Open for reading and writing.  The stream is positioned  at  the beginning of the file. w+:Open for reading and writing.  The file is created  if  it  does not  exist, otherwise it is truncated.  The stream is pos

python打开文件可以有多种模式

一.python打开文件可以有多种模式,读模式.写模式.追加模式,同时读写的模式等等,这里主要介绍同时进行读写的模式r+ python通过open方法打开文件 file_handler = open(filename,mode) mode的模式有以下几种 r 以读方式打开文件,可读取文件信息. w 以写方式打开文件,可向文件写入信息.如文件存在,则清空该文件,再写入新内容 a 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 r+ 以读写方式打开文件,可对文件进

Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】

打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格式.视频文件的avi格式) rb:   以字节方式读文件 wb: 以字节方式写文件ab: 以字节方式追加文件 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,所以不能指定编码 1. rb #错误举例 f = open ('test1.py', 'rb', encoding = 'utf

python打开文件查询字符串时报UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 19: illegal multibyte sequence错误

当这样打开时报错了 lines = open(path).readlines() open(path).close() for line in lines: idx1 = line.find('检测到的 SN 为:') idx1 += len('检测到的 SN 为:') idx2 = line.find(' 或许与您申请的SN不符,请联系技术提供方',idx1) responsetimestr = line[idx1:idx2] rts = responsetimestr   UnicodeDe

python打开文件的N种姿势

# python打开文件的N种姿势 print('[1]使用open()函数+简单for循环') f1 = open('python.txt') for line in f1: print(line.strip()) f1.close() print('分隔符'.center(40,'-')) print('[2]使用open()函数打开+逐行读取并打印') f2 = open('python.txt') while True: line = f2.readline().strip() # f1

Python open()函数打开文件的模式详解

Python open函数的模式详解 在Python中使用open()函数打开文件,并返回一个文件对象,然后通过文件对象对文件进行读写操作.不同类型的文件需要采用不同的模式来打开,并且采用不同模式打开文件,我们可以进行的操作以及程序运行的结果也是不同的. 打开模式 open()函数完整的语法格式为: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)函数定义的参数

Mac版Python打开文件的路径问题

原文地址:https://www.jianshu.com/p/b8110d578155 1.文件路径选择 mac不存在地址栏,有时候你去获取文件路径粘贴过来打开会报错 File b'***.csv' does not exist 而你不想每次要去找数据文件路径,最简单的办法是先获取你在编辑的Ipython notebook的路径,然后把数据文件放在该路径下,到时候直接输入文件名就能打开文件了. #获取默认路径 import os print (os.path.abspath('.')) 比如我的

python打开文件的路径

使用绝对路径,类似于D:\work\deter.xls Python中打开文件的路径是当前工作路径,可以通过下面的方式查看 import os os.getcwd() 可以通过 os.chdir('c:\\') 进行修改 原文地址:https://www.cnblogs.com/gonghongwei/p/9374968.html

python打开文件常见错误及解决办法

打开文件注意事项: 打开文件时需要,填写正确的路径,需要配置与文件相同的编码方式打开位机例如'utf-8',需要以特定 的模式打开文件 r, w,r+,w+,rb,wb,a, a+,ab等模式 f.open('path', encoding='编码', mode='r') FileNotFoundError: [Errno 2] No such file or directory: 找不到文件: 1.可能是路径错误,检查路径,有可能是 \ 与后面的字符产生了特殊意义 解决办法:在盘符前加 r'd