python文件基础操作-2

- [ ] 对于文件操作,python提供如下功能

  • 文件的基础读写 r w a x(只读,写入,追加写入,创建写入)
    备注:x模式操作文件如果文件存在会报错误,如果不存在会直接创建新的文件
## 只读形式读文件

def file_r():
    f = open("./mydirtest/1.txt", mode="r", encoding="utf-8")
    print(f.read())
    f.close()
## 写入文件,要先将1.txt的文件内容清空之后,在进行写入,不可读
def file_w():
    f = open("./mydirtest/1.txt", mode="w", encoding="utf-8")
    f.write("写入文件信息")
    f.close()
## 在原始文件上追加写入内容,不可读
def file_a():
    f = open("./mydirtest/1.txt", mode="a", encoding="utf-8")
    f.write("写入文件信息")
    f.close()
## 创建文件并写入内容,不可读
def file_x():
    f = open("./mydirtest/2.txt", mode="x", encoding="utf-8")
    f.write("写入文件信息")
    f.close()
if __name__ == '__main__':
    file_r()
    file_w()
    file_a()
    file_x()
  • python 文件的字节读写 rb,wb,ab,xb 模式,基础语法同上,不需要encoding的属性
  • python 文件增强型读写 r+ ,w+,a+,x+
##增强型读写文件,同时存在可读属性
## 增强行读写
def file_rpuls():
    r = open("./mydirtest/1.txt", mode="r+", encoding="utf-8")
    print(r.read())
    r.write("\n增加一行新数据\n")
    r.close()
## 增强型追加写入
def file_apuls():
    r = open("./mydirtest/1.txt", mode="a+", encoding="utf-8")
    print(r.read())
    r.write("\n增加一行新数据\n")
    r.close()
##增强型写入
def file_wpuls():
    r = open("./mydirtest/1.txt", mode="w+", encoding="utf-8")
    print(r.read())
    r.write("\n增加一行新数据\n")
    r.close()
  • 文件遍歷

def for_file():
    with open("./mydirtest/1.txt", mode="r+", encoding="utf-8") as file:
        for line in file:
            print(line)
## with 直接對文件進行操作關閉,不用在單獨編寫close 函數 ,需要進行as 別名,不然無法操作文件
  • 文件指針
def pointer():
    with open("./mydirtest/1.txt",mode="r+",encoding="utf-8") as file:
        print(file.tell())  ###獲取當前文件位置
        file.seek(3)   ### 移動位置,設置當前的字節為止已輸出展示
        print(file.read(1))
        print(file.tell())
  • python 文件操作的常用函数
    1
    file.close()

关闭文件。关闭后文件不能再进行读写操作。

2
file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3
file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4
file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

5
file.next()

返回文件下一行。

6
file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7
file.readline([size])

读取整行,包括 “\n” 字符。

8
file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。

9
file.seek(offset[, whence])

设置文件当前位置

10
file.tell()

返回文件当前位置。

11
file.truncate([size])

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

12
file.write(str)

将字符串写入文件,返回的是写入的字符长度。

13
file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

猜你喜欢

转载自blog.csdn.net/u013279518/article/details/89090941