3

Python文件操作(上) | CHEGVA

 2 years ago
source link: https://chegva.com/5476.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python进阶(29)—文件操作(上)

◎知识点

  1. 打开文件

  2. 读文件

◎脚本练习

▽ 打开文件

"""
    把数据存储到文件中是数据存储的方式之一。
    如何将数据写入文件,并将写入到文件中的数据读取出来呢?

    读写文件之前,必须先打开文件。
    内置函数open()用于打开文件,
        第一个参数是文件的路径,必须要指定。既可以指定绝对路径,也可以指定相对路径。
        第二个参数是文件的打开方式,默认值是'r',表示以只读方式打开。
        其它参数都是带默认值的,可参考官方文档。
        函数的返回值是一个文件对象,通过该对象就可以操作文件了,例如:读文件、写文件、关闭文件等。
"""
# file = open('myfile.txt')
# file = open('myfile.txt', 'r')
# file = open('myfile2.txt')

# file = open('myfile.txt', 'w')
# file = open('myfile2.txt', 'w')

# file = open('myfile.txt', 'a')
# file = open('myfile2.txt', 'a')

# file = open('myfile.txt', 'x')
# file = open('myfile2.txt', 'x')

# file = open('myfile.txt', 'r+')
# file = open('myfile2.txt', 'r+')
Python

Python进阶(29)—文件操作(上)

Python进阶(29)—文件操作(上)

▽ 读文件

"""
    读文件之前,必须先打开文件。
    可以调用内置函数open()并以只读方式或读写方式打开文件。返回的文件对象有三个用于读文件的方法:
    
1. read([size])
    如果不传参数,读到文件尾。
    如果传入参数,size用于指定字节数,
        当指定的字节数小于读到文件尾的字节数时,读取指定的字节数;
        当指定的字节数大于读到文件尾的字节数时,或当指定的字节数小于0,读到文件尾。
    
    如果文件较大,调用read()一次性读取整个文件会导致内存占用较大,因此,最好多次调用read(size)。
    指定的size不要超过默认缓冲区的大小,否则,可能并不能读取到指定的字节数。通过标准库中模块io
的属性DEFAULT_ BUFFER_ SIZE可以查看默认缓冲区的大小。
"""

"""
>>> import io
>>> io.DEFAULT_BUFFER_SIZE
8192    

>>> file = open('myfile.txt')
>>> file.read()
'1234567890\nabcdefghijklmn\nopqrstuvwxyz'
>>> file.close()    # 文件在使用完毕后必须要关闭

>>> file = open('myfile.txt')
>>> file.read(12)
'1234567890\na'
>>> file.read(30)   # 因为没有关闭文件,所以继续读取
'bcdefghijklmn\nopqrstuvwxyz'
>>> file.close()

>>> file = open('myfile.txt')
>>> file.read(12)
'1234567890\na'
>>> file.read(-5)
'bcdefghijklmn\nopqrstuvwxyz'
>>> file.close()
"""

"""
2. readline([size])
    如果不传参数,读到行尾。
    如果传入参数,size用于指定字节数,
        当指定的字节数小于读到行尾的字节数时,读取指定的字节数;
        当指定的字节数大于读到行尾的字节数时,或当指定的字节数小于0,读到行尾。
    总之,最多读到行尾。
"""

"""
>>> file = open('myfile.txt')
>>> file.readline()
'1234567890\n'
>>> file.readline(7)
'abcdefg'
>>> file.readline(10)
'hijklmn\n'
>>> file.readline(3)
'opq'
>>> file.readline(-5)
'rstuvwxyz'
>>> file.close()
"""

"""
3. readlines([size])
    如果不传参数,读到文件尾,返回每一行组成的列表。
    如果传入参数,size用于指定字节数,
        当指定的字节数小于读到文件尾的字节数时,一直读取到最后一个字符所在行的行尾;
        当指定的字节数大于读到文件尾的字节数时,或当指定的字节数小于0,读到文件尾。

    如果文件较大,调用readlines()一次性读取整个文件会导致内存占用较大,因此,最好多次调用
readlines(size)。
    指定的size不要超过默认缓冲区的大小。
"""

"""  
>>> file = open('myfile.txt')
>>> file.readlines()
['1234567890\n', 'abcdefghijklmn\n', 'opqrstuvwxyz']
>>> file.close()

>>> file = open('myfile.txt')
>>> file.readlines(8)
['1234567890\n']
>>> file.readlines(50)
['abcdefghijklmn\n', 'opqrstuvwxyz']
>>> file.close()
>>> file = open('myfile.txt')
>>> file.readlines(8)
['1234567890\n']
>>> file.readlines(-5)
['abcdefghijklmn\n', 'opqrstuvwxyz']
>>> file.close()    
"""
Python

◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_advanced/file_operations.py

安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5476.html | ☆★★每天进步一点点,加油!★★☆ | 

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK