zoukankan      html  css  js  c++  java
  • 文件操作

    文件打开关闭

    <1>打开文件

    在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件

    open(文件名,访问模式)

    示例如下:

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

    说明:

    访问模式说明
    r 只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    <2>关闭文件

    close( )

    示例如下:

        # 新建一个文件,文件名为:test.txt
        f = open('test.txt', 'w')
    
        # 关闭这个文件
        f.close()

    文件的读写

    <1>写数据(write)

    使用write()可以完成向文件写入数据

    demo: 新建一个文件 file_write_test.py,向其中写入如下代码:

    
    f = open('test.txt', 'w')
    f.write('hello world, i am here!')
    f.close()
    

    运行之后会在file_write_test.py文件所在的路径中创建一个文件test.txt,其中数据如下:

    注意:

    • 如果文件不存在那么创建,如果存在那么就先清空,然后写入数据

    <2>读数据(read)

    使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

    demo: 新建一个文件file_read_test.py,向其中写入如下代码:

    f = open('test.txt', 'r')
    content = f.read(5)  # 最多读取5个数据
    print(content)
    
    print("-"*30)  # 分割线,用来测试
    
    content = f.read()  # 从上次读取的位置继续读取剩下的所有的数据
    print(content)
    
    f.close()  # 关闭文件,这个可以是个好习惯哦
    

    运行现象:

    hello
    ------------------------------
     world, i am here!
    

    注意:

    • 如果用open打开文件时,如果使用的"r",那么可以省略,即只写 open('test.txt')

    <3>读数据(readlines)(按行读所有)

    就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

    #coding=utf-8
    
    f = open('test.txt', 'r')
    content = f.readlines()
    print(type(content))
    
    i=1
    for temp in content:
        print("%d:%s" % (i, temp))
        i += 1
    
    f.close()

    <4>读数据(readline)(读一行)

    #coding=utf-8
    
    f = open('test.txt', 'r')
    
    content = f.readline()
    print("1:%s" % content)
    
    content = f.readline()
    print("2:%s" % content)
    
    f.close()
    

     
  • 相关阅读:
    将Nginx添加到windows服务中
    springboot使用redis管理session
    GIT常用命令
    阻止360、谷歌浏览器表单自动填充
    谈谈对Spring IOC的理解
    同一个Nginx服务器同一端口配置多个代理服务
    LeetCode 653. Two Sum IV
    109. Convert Sorted List to Binary Search Tree(根据有序链表构造平衡的二叉查找树)
    108. Convert Sorted Array to Binary Search Tree(从有序数组中构造平衡的BST)
    LeetCode 236. Lowest Common Ancestor of a Binary Tree(二叉树求两点LCA)
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12573026.html
Copyright © 2011-2022 走看看