精华内容
下载资源
问答
  • with open方法我们之前使用open方法读取文件f = open('demo.text' , 'r+')f.close()细心的朋友应该注意到,我们用open()打开文件以后,后面会跟着一个f.close()方法用来关闭文件,但是每次这么写,会很麻烦。...

    with open方法

    我们之前使用open方法读取文件f = open('demo.text' , 'r+')

    f.close()

    细心的朋友应该注意到,我们用open()打开文件以后,后面会跟着一个f.close()方法用来关闭文件,但是每次这么写,会很麻烦。

    所以,我们接下来介绍一下with open()的用法#with open()可以自动帮我们调用close()方法

    with open('demo.text', 'r') as f:

    print(f.read())

    调用read()方法,会一次性读取全部文件内容,当文件内容较小时比较试用,但是当文件内容过大,很容易导致运行内存100%,所以我们可以反复调用read(size)来设置每次读取的字节内容。

    写入文件内容时:with open('demo.text', 'w') as f:

    print(f.write('demo'))

    我们写入文件内容时,系统并不会立刻就把所有数据写入到磁盘,它是先放到内存中缓存,等到空闲的时候再慢慢写入到磁盘。

    当调用close()方法时,系统才能保证把剩余没有写入的数据全部写入到磁盘。假如我们忘记调用了close()方法,那很可能导致我们的数据遗失。

    为了保证万无一失,最好是使用with open()进行内容的读写。

    try...finally

    我在之前的文章里面讲过try...finally,finally里面的内容是不管是否发生异常都会被执行。

    所以,对于open()方法我们有另一种写法:try:

    f = open('/path/', 'r')

    print(f.read())

    finally:

    if f:

    f.close()

    但是呢,这种方法相比with open()实在是太麻烦了,所以我们只是简单说一下,并不建议大家去使用这个方法。

    多个文件的读写方式#方法一

    with open('demo.text','r') as f:

    with open('demo1.text','r') as f1:

    with open('demo2.text','r') as f2

    ........

    ........#方法二

    with open('demo.text','r') as f:

    ........

    with open('demo1.text','r') as f1:

    ........

    with open('demo2.text','r') as f2

    ........

    with open()和open()读写文件的方法是通用的,没有区别

    展开全文
  • python 使用 with open() as 读写文件

    万次阅读 多人点赞 2018-08-24 16:06:45
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f = open('E:\python\python\test.txt', 'r') 标示符'r'表示读,这样,我们就成功地打开了一个...

    读文件:

    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:

    >>> f = open('E:\python\python\test.txt', 'r')

    标示符'r'表示读,这样,我们就成功地打开了一个文件。

    如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:

    f=open('E:\python\python\notfound.txt', 'r')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: 'E:\python\python\notfound.txt'

    如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示

    >>> f.read()
    'Hello, python!'

    最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:

    >>> f.close()

    由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:

    try:
        f = open('/path/', 'r')
        print(f.read())
    finally:
        if f:
            f.close()

     

    每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:

    with open('/path/to/file', 'r') as f:
        print(f.read())

    这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。

     

    调用read()会一次性读取文件的全部内容,如果文件有20G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。

    如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

    for line in f.readlines():
        print(line.strip()) # 把末尾的'\n'删掉

     

    写文件

    写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:

    >>> f = open('E:\python\python\test.txt', 'w')
    >>> f.write('Hello, python!')
    >>> f.close()

    可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:

    with open('E:\python\python\test.txt', 'w') as f:
        f.write('Hello, python!')

    要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码

     

    字符编码

    要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:

    >>> f = open('E:\python\python\gbk.txt', 'r', encoding='gbk')
    >>> f.read()
    '测试'

    遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能夹杂了一些非法编码的字符。遇到这种情况,open()函数还接收一个errors参数,表示如果遇到编码错误后如何处理。最简单的方式是直接忽略:

    >>> f = open('E:\python\python\gbk.txt', 'r', encoding='gbk', errors='ignore')

    二进制文件

    前面讲的默认都是读取文本文件,并且是UTF-8编码的文本文件。要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可:

    >>> f = open('E:\python\python\test.jpg', 'rb')
    >>> f.read()
    b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

    总结:以后读写文件尽量使用with open语句,少使用f = open()语句

     

    对于多个文件的读写,可以写成以下两种方式:

    1、

    with open('C:\Desktop\text.txt','r') as f:
        with open('C:\Desktop\text1.txt','r') as f1:
            with open('C:\Desktop\text2.txt','r') as f2      
            ........       
            ........       
            ........

    2、

    with open(''C:\Desktop\text.txt','r') as f:
    ........
    with open(''C:\Desktop\text1.txt','r') as f1:
    ........
    with open('C:\Desktop\text2.txt','r') as f2:
    ........

    文件的读写方式列表:

    File 对象属性:

    Reference:

    https://www.cnblogs.com/ymjyqsx/p/6554817.html

    https://www.cnblogs.com/tianyiliang/p/8192703.html

     

     

     

     

     

    展开全文
  • python读取文件with open()

    千次阅读 2019-11-28 13:59:12
    Python内置了读写文件的函数,用法和C是兼容的。 open()VS with open() 目前最常使用的是with open()函数,首先介绍它和open()的区别: open()完成后必须调用close()方法关闭文件,因为文件对象会占用...

    读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

    open()VS with open()

    目前最常使用的是with open()函数,首先介绍它和open()的区别:
    open()完成后必须调用close()方法关闭文件,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的,由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。

    为了解决这个麻烦,Python引入了with语句来自动帮我们调用close()方法:

    #文件的读操作
    with open('input_filename.txt','r') as f:#r为标识符,表示只读
       df=pd.read_csv(f)  
       print(f.read())
    '''
    其他标识符:
    r:	以只读方式打开文件。
    rb: 以二进制格式打开一个文件用于只读。
    r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+:以二进制格式打开一个文件用于读写。
    '''
    #文件的写操作
    with open('output_filename.csv', 'w') as f:
       f.write('hello world')  
    '''
    其他标识符:
    w:	打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb:	以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+:	打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab:	以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+:	打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
    ''' 
    

    方法及属性

    file.read([size])   #将文件数据作为字符串返回,可选参数size控制读取的字节数
    file.readlines([size])   #返回文件中行内容的列表,size参数可选
    file.write(str)   #将字符串写入文件
    file.writelines(strings)   #将字符串序列写入文件
    file.close()   #关闭文件
    
    file.closed	#返回布尔值,文件已经被关闭为True,否则为False
    file.mode	#Access文件打开时使用的访问模式
    file.encoding	#文件所使用的编码
    file.name	#文件名
    file.newlines	#未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
    file.softspace	#为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用
    

    注意

    1. 要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数
    2. 读取时调用read()将一次性读取文件的全部内容,如果文件有10G,内存就爆了,保险起见可反复调用read(size)方法,每次最多读取size个字节的内容。
    3. 调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
    4. 根据需要调用:如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便
    展开全文
  • python 读写文件磁盘上的文件,是通过调用操作系统系统的接口来实现的,通过操作系统提供的接口,来读取或者写入文件Python 读取文件的步骤如下# 使用 open1、打开文件f1 = open('t1.txt', 'r',encoding='utf-8')2...

    python 读写文件磁盘上的文件,是通过调用操作系统系统的接口来实现的,通过操作系统提供的接口,来读取或者写入文件,Python 读取文件的步骤如下

    # 使用 open

    1、打开文件f1 = open('t1.txt', 'r',encoding='utf-8')

    2、读取文件(文件存在的话,不存在的话,会报FileNotFoundError 错误)data = f1.read()print(data)

    hello world

    hello world

    hello world

    hello world

    hello world

    假设文件不存在的话,比如打开文件 t2.txt

    watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

    3、关闭文件f1.close()

    使用 with open 方法,当文件读写完成后,会自动帮我们调用 close 方法with open('t1.txt', 'r') as f1:

    print(f1.read())

    输出:

    hello world

    hello world

    hello world

    hello world

    hello world

    展开全文
  • Python3中打开文件的方式(With open

    万次阅读 多人点赞 2018-08-05 19:53:16
    python文件读写文件是最常见的IO操作... 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件...
  • Python 读写文件详解 with open() as

    千次阅读 2020-09-21 14:37:59
    文章目录1 概述2 区别2.1 传统方法2.2 with open() as 方法3 扩展3.1 读写模式3.2 常用方法 1 概述 1. 传统文件读写,容易犯的问题 (1) 忘记 '关闭文件' (2) 文件读写 '异常' 时,未做处理 2. with as 读写文件 ...
  • Python 文件读写操作 1.一般文件读写操作(open函数) 打开文件一般格式为: 读取文件: str = f.read(b) ‘’‘读取指定字节数或全部内容’’’ str = f.readline() ‘’‘逐行读取文件内容’’’ str = f....
  • with open(output_filename, "wb") as f:f.write(html_request.content)我用这个方法读写文件时,却报错:IOError: [Errno 2] No such file or directory: './output/http%3A//cup.baidu.com/spider'我一开始很懵逼...
  • 这样直接打开文件,如果出现异常(如,读取文件过程中文件不存在),则直接出现错误,close命令无法执行,文件无法关闭。 file = open("text.txt","r") for line in file.readlines(): print line file.close() ...
  • 要以读文件的模式打开一个文件对象,可使用Python内置的open()函数 如果文件不存在,open()函数就会抛出一个IOError的错误 文件使用完毕后必须调用close()关闭,因为文件对象会占用操作系统的资源,并且操作系统...
  • python文件读写txt open/ with open as

    千次阅读 2020-03-04 16:04:08
    openpython的内置函数,用open方法打开一个文件时,会返回一个文件对象,调用相应的方法实现对文件读写open函数中最常用的两个参数name, mode分别指定了文件名和打开文件的模式。使用时要注意文件路径。 读...
  • python 文件读写with open模式r,r+ w,w+ a,a+区别详解 python中的 with open主要要来进行文件读写的操作 在 Python 中使用文件的关键函数是 open() 函数。 打开/创建文件使用open(file,mode)函数,open() 函数有...
  • python文件读写,以后就用with open语句

    千次阅读 2018-06-25 16:32:30
    Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一...
  • 现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件...
  • with open完成python读写

    千次阅读 2017-11-13 16:25:33
    python文件读写,以后就用with open语句 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代...
  • 现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件...
  • 先上案例,写入一个csv(和写入txt类似): write_head = True with open("a.csv", "w") as f: # 文件的写操作 if write_head: # 先写表头 s = '' for k in to_write: # to_write是一个字典 s += k + ',' ...
  • Python读取文件内容

    万次阅读 多人点赞 2018-12-18 16:27:54
    Python 读取文件内容
  • 使用python读写文件One of the most common tasks that you can do with Python is reading and writing files. Whether it’s writing to a simple text file, reading a complicated server log, or even ...
  • python使用with open() as 读写文件

    千次阅读 2020-02-20 15:08:24
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f = open('E:\python\python\test.txt', 'r') 标示符'r'表示读,这样,我们就成功地打开了一个文件。 如果...
  • pythonPython open读写文件

    千次阅读 2013-05-29 11:14:31
    1.open 使用open打开文件后一定要记得调用文件对象的close()方法。...open读写文件" title="Python open读写文件" style="margin:0px; padding:0px; border:0px; list-style:none">file_object = open('thefile.txt
  • Python文件读写with语句关闭文件

    千次阅读 2019-06-20 18:48:00
    Python文件读写with语句 在进行Python文件读取或者写入的时候,我们都需要调取f.close()来关闭文件,前者是避免占用内存,后者是保证内容顺利写入到目标文件中。 当我们写入文件时,操作系统往往不会立刻把数据...
  • 文件: 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>...
  • Python进阶(二十五)-Python读写文件

    万次阅读 2017-04-06 14:22:20
    Python进阶(二十五)-Python读写文件打开文件  使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt') try: all_the_text ...
  • python3:文件读写+with open as语句

    千次阅读 2019-01-19 14:45:54
    python3:文件读写+with open as语句 转载请表明出处:https://www.cnblogs.com/shapeL/p/9141238.html 前提:文中例子介绍test.json内容: hello 我们 326342 1.文件读取 (1)打开文件open,默认是已读模式打开...
  • Python读写文件

    2020-06-09 22:37:14
    1、Python文件 with open(target_file) as file: for line in file.readlines(): print(line) 2、Python文件 覆盖写入: with open(target_file,"w") as fo: fo.write("写入文件的内容") 追加写入: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,390
精华内容 40,156
关键字:

openpython读取文件with

python 订阅