精华内容
下载资源
问答
  • Python打开文件的方式
    千次阅读
    2020-11-26 04:43:03

    r  以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    w  打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a  打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    rb  以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

    wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    ab  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    r+  打开一个文件用于读写。文件指针将会放在文件的开头。

    w+  打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a+  打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

    rb+  以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

    wb+  以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    ab+  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    更多相关内容
  • 详解python中各种文件打开模式

    千次阅读 2020-12-21 10:55:22
    python中,总的来说有三种大的模式打开文件,分别是:a, w, r当a模式打开时,只能写文件,而且是在文件末尾添加内容。当a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发现读出来的数据为空,是...

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r

    当以a模式打开时,只能写文件,而且是在文件末尾添加内容。

    当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发现读出来的数据为空,是因为a+模式是在文件末尾添加内容,所以其指针已经指到了文件末尾,所以读出来的数据就是空的。

    # 在文件末尾添加数据

    f = open('test.txt','a+')

    f.write('test')

    f.close()

    # 读出数据为空

    f = open('test.txt','a+')

    print(f.read())

    # 读出数据

    f = open('test.txt','a+')

    f.seek(0) # 将指针移动到首个字符前

    print(f.read())

    当以w模式打开时,只能写文件,而且会直接将之前的数据给丢失。

    当以w+模式,可读可写,但是如果想读取的内容的话,只能在写内容的时候,同时读取其中的内容,相当于只能读取出你刚刚写入的内容,没有意义

    f = open('test.txt', 'w+')

    f.write('我不会喜欢你')

    f.seek(0)

    print(f.read())

    f.close()

    当以r模式打开文件时,只能读取文件。

    当以r+模式打开文件时,可读可写文件。如果是读取文件,会从首个字符开始读取数据,如果是以该模式打开文件,就写数据,则会从首个字符开始写,并一个一个字符的向后面覆盖。如果想从末尾添加内容,则可先read()然后在向其中添加数据。

    # 第一次写入内容

    f = open('test.txt', 'r+')

    f.write('我不会喜欢你') # 内容为:我不会喜欢你

    f.close()

    # 第二次写入

    f = open('test.txt', 'r+')

    f.write('其实我')

    f.close() # 内容为: 其实我喜欢你

    # 第三次写入

    f = open('test.txt', 'r+')

    print(f.read()) # 内容为: 其实我喜欢你

    f.write(', i love you')

    f.close() # 内容为: 其实我喜欢你, i love you

    自我感觉r+模式可以多加应用。

    ps:下面看下python文件打开的几种访问模式

    访问模式

    说明

    r

    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    w

    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a

    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    rb

    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

    wb

    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    ab

    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    r+

    打开一个文件用于读写。文件指针将会放在文件的开头。

    w+

    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a+

    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

    rb+

    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

    wb+

    以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    ab+

    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    总结

    以上所述是小编给大家介绍的python中各种文件打开模式,希望对大家有所帮助

    希望与广大网友互动??

    点此进行留言吧!

    展开全文
  • python:文件操作

    千次阅读 2020-12-24 08:23:42
    打开文件时模式字符的含义:字符含义"r"以只读方式打开(默认)"w"只写方式打开,若要打开的文件存在,则删除原文件内容。如果不存在,则创建改文件并只写方式打开"x"创建一个新文件,并写模式打开这个文件,...

    打开文件时模式字符的含义:

    字符

    含义

    "r"

    以只读方式打开(默认)

    "w"

    以只写方式打开,若要打开的文件存在,则删除原文件内容。如果不存在,则创建改文件并以只写方式打开

    "x"

    创建一个新文件,并以写模式打开这个文件,如果文件存在,则会产生“FileExistsError”错误

    "a"

    以只写模式打开一个文件,如果要打开的文件存在,则要写入的内容追加到文件末尾

    "b"

    用二进制模式打开文件

    "t"

    文本模式打开文件(默认)

    "+"

    为更新内容打开一个磁盘文件(可读可写),不能单独使用,要和其它模式字符结合使用

    缺省模式是“rt”

    "w+b" ,可以实现二进制的随机读写,当打开文件时,文件内容会被清空

    “r+b”  ,以二进制读和更新模式打开文件,打开文件时不会清空文件内容

    "r+"  ,以文本模式读和更新模式打开文件,打开文件时不会清空文件内容

    相关方法:

    1、open(filename,mode)

    参数:filename,文件名,必选,字符串形式。mode,操作模式,可选,默认为  r

    作用:打开文件

    返回值:返回一个文件流对象,文件流对象可以迭代

    eg:f = open("123.txt")

    注意:open方法打开文件,结束时一定要关闭  f.close()

    1.1 读取文件

    s = f.read()  #一次性全部读取,对文本文件返回的为字符串。二进制文件返回的是字节串。

    s = f.readline()   #读取一行,遇到  \n  就返回

    s = f.readlines()  # 返回每行字符串的列表,

    返回的是一个列表,列表的每个元素是一行数据

    for  s  in f:

    print(s)

    1.2写文件

    f = open("123.txt","w")  #  w  ,只写模式,只能写入文件,不能读取文件。

    若文件不存在,则创建新的文件。

    若文件存在,则写入的时候会覆盖原来文件里面的内容

    f.write(str)   参数:要写入的内容,必选,且参数类型必须为字符串

    作用:在文件写入内容

    返回值:往文件里面写东西的时候,不需要返回值

    返回的是写入的字符串长度,即写入的字符长度

    注:对二进制文件需要用字节串操作

    f.writelines(str)  参数:必选,参数的内容必需为字符串,比如 参数为列表、元组、集合、字典时,其元素的类型必需为字符串

    为字典时,写入的是键

    作用:将str写入文件

    1.3关闭文件

    f.close()

    1.4 判断文件是否可读写

    判断是否可读:d = f.readable()    返回True,可读。False,不可读

    判断是否可写:w = f.writeable()   返回True,可写。返回False,不可写

    1.5 f.tell()

    作用:返回文件当前的读写位置,以字节计算

    返回值:数字,代表当前的读写位置

    1.6设置读写位置

    f.seek(偏移量,whence=相对位置)   对  相对位置的偏移量

    偏移量

    大于0的数代表向文件末尾方向移动的字节数

    小于0的数代表向文件头方向中移动的字节数

    相对位置

    0 代表从文件头开始偏移

    1 代表从文件当前读写位置开始偏移

    2 代表从文件尾开始偏移

    2、标准输入输出

    sys.stdin    标准输入文件

    ctrl+d 输入文件结束符

    sys.stdout 标准输出文件

    sys.stderr 标准错误输出文件

    模块名:sys

    注:

    标准文件不需要打开和关闭就可以使用

    展开全文
  • 基本打开模式文件操作的流程:打开文件,操作文件,关闭文件打开文件方法:open(文件名,模式,编码)file = open(‘文件名’) 模式在不给值的情况下,默认为只读,而且如果是非当前的目录下文件名要加绝对路径‘r’-...

    基本打开模式

    文件操作的流程:打开文件,操作文件,关闭文件

    打开文件方法:open(文件名,模式,编码)

    file = open(‘文件名’) 模式在不给值的情况下,默认为只读,而且如果是非当前的目录下文件名要加绝对路径

    20180110185743722673.png

    ‘r’--只读

    file_name.read()   一次性把指针后的内容全部读出来

    20180110185743724626.png

    file_name.readlines()  把指针后内容,以列表的形式每行读出

    20180110185743726579.png

    f = open(‘ha.log‘,‘r‘)

    data1 = f.readlines()

    f.close()

    print(data1)

    #结果为:[‘that is good!\n‘, ‘nice to meet you!\n‘, ‘hello kitty!\n‘]

    f = open(‘ha.log‘,‘r‘)

    f.seek(5)

    data2 = f.readlines()

    f.close()

    print(data2)

    #结果为:[‘is good!\n‘, ‘nice to meet you!\n‘, ‘hello kitty!\n‘]

    file_name.readline()  每一次读一行内容

    20180110185743728532.png

    文件里循环读取,循环文件默认是循环行内容

    f = open(‘ha.log‘,‘r‘)

    for line in f:

    print(line)

    f.close()

    #结果为:

    that is good!

    nice to meet you!

    hello kitty!

    ‘r‘模式总结:只读模式在打开文件时是从头开始读,其中read()和readlines()是一次把文件所有内容都读取出来,在文件很大时,不建议这两种方法,非常占内存

    而readline和循环文件是一行一行读,两次方法每次读取都是只占一行内容的内存,readline操作比较繁琐,并且你如果不知道最后一行在哪,一般容易报错,

    一般用for循环

    ‘w’--只写

    以只写模式打开时,先检测文件存不存在,不存在就创建,存在清空文件内容

    20180110185743730485.png

    file_name.writelines()  和只读里的readlins相对应,以列表形式写入

    f = open(‘ha.log‘,‘w‘)

    f.writelines([‘that is good!\n‘, ‘nice to meet you!\n‘, ‘hello kitty!\n‘])

    f.close()

    f = open(‘ha.log‘,‘r‘)

    data = f.read()

    f.close()

    print(data)

    结果为:

    that is good!

    nice to meet you!

    hello kitty!

    ‘w’模式总结:只写模式适用于创建不存在的文件,用于清空内容再写入内容情况比较少,如果说想在文件末尾添加内容,这就涉及到我们即将讲的‘a’模式

    ‘a’--追加模式

    打开文件时,指针跳到文件的末尾,此时执行写操作就是内容添加操作

    追加模式下不可读,不存在则创建,存在则追加

    f = open(‘ha.log‘,‘a‘)

    print(f.tell())

    f.write(‘大家好‘)

    f.close()

    f = open(‘ha.log‘,‘r‘)

    data = f.read()

    f.close()

    print(data)

    结果为:

    48

    that is good!

    nice to meet you!

    hello kitty!

    大家好

    ‘x’--只写

    不存在创建,存在则报错(这个模式py3新增的)    --用于判断文件存不存在非常有用

    20180110185743731461.png

    字节打开模式

    别看我们平时操作都是能看懂的字符串,其实在程序底部都是一些计算机能识别的二进制文件,所以让我们看懂,必须经过一个编码转换区,由字节转换为字符

    20180110185743733414.png

    ‘rb‘--字节只读模式

    20180110185743734391.png

    ‘wb‘--字节只写模式

    20180110185743736344.png

    文件操作指针

    file_name.seek()  指针拨到指定位置

    file_name.tell()  告诉你当前指针的位置

    20180110185743737320.png

    r+ 读写--从0开始

    w+ 写读--写把文件清空,从0开始

    a+ 写读--指针从末尾开始

    x+ 写读--存在报错,从0开始

    20180110185743739273.png

    20180110185743740250.png

    with open(‘ha.log‘,‘w‘) as f:

    f.writelines([‘大家好才是真的好\n‘,‘明天的太阳依旧灿烂\n‘])

    #打开以a+模式,如果先写,是从当前指针开始往后覆盖内容

    with open(‘ha.log‘, ‘r+‘) as f:

    print(f.tell()) #0

    f.write(‘早起的鸟儿有虫吃\n‘)

    f.seek(0)

    data3 = f.read()

    print(data3)

    # 结果为:

    # 早起的鸟儿有虫吃

    # 明天的太阳依旧灿烂

    文件上下文管理

    with open(’文件名‘,模式) as 文件变量:文件操作---------这种方式不用再写文件关闭了,因为这种方式在操作后会自动关闭文件

    在py3还支持同时打开两个文件:with open(文件1,模式) as obj1,open(文件2,模式) as obj2:文件操作

    大型文件复制:

    with open(‘ha.log‘,‘r‘) as obj1,open(‘ha2.log‘,‘w‘) as obj2:

    for line in obj1:

    obj2.write(line)

    with open(‘ha2.log‘,‘r‘) as obj2:

    data = obj2.read()

    print(data)

    文件操作常用方法拾遗

    file_name.flush()  强行把内存刷到硬盘

    file_name.truncate()  保留指针前的内容

    with open(‘ha2.log‘,‘a+‘) as obj1:

    obj1.seek(6)

    obj1.truncate()

    obj1.seek(0)

    data = obj1.read()

    print(data) #结果为:大家好

    原文:http://www.cnblogs.com/xinsiwei18/p/5551191.html

    展开全文
  • 【简答题】追加模式打开文件时,文件指针指向文件尾 【判断题】Python内置的open函数,打开文件的时候可能会产生异常 【单选题】图片的添加方式有几种? 【填空题】在第二个短视频中,截取x天,最后截得的木棒长度y与...
  • Can this be done in Python? 解决方案 For this you use os.chmod import os from stat import S_IREAD, S_IRGRP, S_IROTH filename = "path/to/file" os.chmod(filename, S_IREAD|S_IRGRP|S_IROTH) Note that ...
  • day8.python文件操作

    千次阅读 2021-04-27 07:28:31
    打开和关闭文件open函数...file = open(file_name [, access_mode][, buffering])不同模式打开文件的列表:t: 文本模式(默认)r: 以只读模式打开文件,指针将放在文件开头r+: 打开一个文件用来读写,指针在开头rb: ...
  • 下面的python代码通过win32com打开ppt文件,默认情况下powerpoint的窗口会打开显示ppt文件内容,如果不希望powerpint显示,可以在Presentations.Open的方法里加入几个参数。下面代码中: ppt.Presentations.Open(‘c...
  • 关于python只读文件的第一行?

    千次阅读 2020-12-06 13:12:39
    如何使用python只得到文件的第一行作为字符串?如果您已经阅读了文件("在阅读了文件之后"),那么您已经阅读了第一行!(假设至少有一行。)请注意,现在所说的问题与原来的含义不同。有些答案现在看起来很愚蠢,因为...
  • 文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式。 ‘r’->只读 ‘w’->只写,文件已存在则清空,不存在则创建。 ‘a’->追加,写到文件末尾 ‘b’->二进制模式,比如打开图像、音频、word文件...
  • python读写方式python的读写,在实际应用中还是很广泛的,有必要系统性的学习一下,便于处理问题时的...打开文件进行读取显示会用到open(‘filename’,‘r’)......r以只读模式打开文件光标在文件开头如果文件不...
  • Python只读属性定义方法

    千次阅读 2021-02-03 04:41:04
    描述Python是面向对象(OOP)的语言, 而且在OOP这条路上比Java走得更彻底, 因为在Python里, 一切皆对象, 包括int, float等基本数据类型.... 但Python没有private关键字, 如何定义只读属性呢? 有两种方法, 第一种跟Jav...
  • 在编程中,比较重要的一个部分就是文件的读写。在计算机系统中,我们需要读取硬盘上的文件,我们才有这么丰富甚至海量的资料可以学习。在我们之前的例子中,在我们...文件的打开及关闭先在python程序所在文件夹新建...
  • r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb: 二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+: 打开一个文件用于读写。文件指针将会放在文件的...
  • python文件读写

    千次阅读 2021-02-03 13:30:00
    打开文件file_object = open(file_...access_mode 打开文件的方式,如果不写默认为‘r’buffering = 1表示有1行缓冲,默认则表示使用系统默认提供的缓冲机制。返回值:成功返回文件操作对象。操作完成需要使用file_...
  • 文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件。下面首先来创建一个文件,它包含精确到...下面的程序打开并读取这个文件,再将其内容显示到屏幕上: file_reader.py with open('pi_digits.txt'...
  • 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已...
  • 文件的打开与关闭image.png打开文件(1)打开并读取出文件的全部内容helloworld.txt文件内容如下:image.pngfile_op.py代码如下:#打开文件保存到file变量中#打开文件,不穿参数,默认module默认是r ,只读file=open(...
  • 文件操作当然需要明白什么是文件,具体是怎么样对其进行...格式:2.mode参数:3.encoding参数:三:打开文件的两种方式:1.别名=open(file, mode='r', encoding=None):2.with open(file, mode='r', encoding=None) as 别名...
  • Python读写文件

    2020-11-24 08:47:05
    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try:all_the_text = file_object.read( )finally...
  • 缓存区大小mode详解:mode说明备注r只读方式打开文件必须存在w只写方式打开文件不存在则创建文件文件存在则先清空文件a追加方式打开(即一打开文件,文件指针自动移到文件末尾)文件不存在则创建文件r+读写方式打开...
  • 本文实例讲述了Python打开文件、文件读写操作、with方式、文件常用函数。分享给大家供大家参考,具体如下: 打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, ...
  • Can this be done in Python? 解决方案 For this you use os.chmod import os from stat import S_IREAD, S_IRGRP, S_IROTH filename = "path/to/file" os.chmod(filename, S_IREAD|S_IRGRP|S_IROTH) Note that ...
  • python中的open()函数用于打开一个文件,创建file对象,相关方法才可以调用它进行读写语法:open(name,[,model[,buffering]])模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb二进制...
  • Python3中打开文件的方式(With open)

    万次阅读 多人点赞 2018-08-05 19:53:16
    python文件读写文件是最常见的IO操作... 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件...
  • 本文实例讲述了Python文件打开方式。分享给大家供大家参考,具体如下: 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (w方式打开,不能读出。w+可读写)...
  • 文件打开方式当我们用open()函数去打开文件的时候,有好几种打开的模式。"r"->只读"w"->只写,文件已存在则清空,不存在则创建。"a"->追加,写到文件末尾"b"->二进制模式,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,733
精华内容 15,493
关键字:

python 以只读方式打开