文件的基本操作

1.文件操作基本流程:

计算机系统分为:计算机硬件,操作系统,应用程序三部分。

我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来。

有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件的流程:

#1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
#2. 通过句柄对文件进行操作
data=f.read()
#3. 关闭文件
f.close()
三要素:文件路径,编码方式,操作模式。
open() python的内置函数(内部调用的是windows的系统命令),

1,打开文件,产生文件句柄。
2,对文件句柄进行操作。
3,关闭文件句柄。
#读
#r
对于r读模式mode可以默认不写
(1)全部读取
f = open('文件操作1',encoding='utf-8')
content = f.read()
print(content)
f.close()

 (2)按照字符读取

f = open('文件操作2',encoding='utf-8',mode='r')
content = f.read(10)
print(content)
f.close()

    (3)按行去读

f = open('文件操作3',encoding='utf-8',mode='r')
f.readline()
f.readline()
f.readline()
content = f.readline()
print(content)
f.close()

   (4)按行读取,返回一个list

f = open('文件操作4',encoding='utf-8',mode='r')
content = f.readlines()
print(content)
f.close()

   (5)for  循环

f = open('文件操作5',encoding='utf-8',mode='r')
for line in f:
    print(line)
f.close()

4.rb模式;非文本文件,bytes类型

f = open('文件操作6',mode='rb')
content = f.read()
print(content)
f.close()

rb模式按照字节读取

f = open('文件操作6',mode='rb')
content = f.read(10)
print(content)
f.close()

r+模式,先读后追加

f = open('文件操作7',encoding='utf-8',mode='r+')
content = f.read()
print(content)
f.write('22313')
f.close()

*不读直接写会导致直接从开始覆盖

5.写

#w模式

#没有文件创建文件也要写

#有文件,先清空,后写入

f = open('文件操作8',encoding='utf-8',mode='w')
f.write('6131')
f.close()

#w+模式

f = open('文件操作8',encoding='utf-8',mode='w')
f.write('6131')
f.seek(1)
print(f.read())
f.close()

#追加

6.a模式

#没有文件创建文件也要写

#有文件直接在文件的最后面添加

7.其他方法

#readable,writable,seek,tell

# seek 调整光标到开始,seek(0)  调整光标到结尾seek(0,2) *****
f = open('文件操作9',encoding='utf-8',mode='r')
f.seek(20)#按字节去移动光标
content = f.read()
print(content)
f.close()
# f = open('文件操作1',encoding='utf-8')
# if f.writable():
#     content = f.read()
#     print(content)
# f.close()

#truncate

# truncate 要在writable模式下进行截取。
# r+ a+ ..不能在w模式下使用,对原文件进行截取
# f = open('文件操作1',encoding='utf-8',mode='r+')
# print(f.truncate(6))
# f.close()
#with open
(1)主动关闭文件句柄
(2)开启多个文件句柄
# 文件的改的操作

# 1,以读的模式打开原文件,产生一个文件句柄f1.
# 2,以写的模式创建一个新文件,产生一个文件句柄f2.
# 3,读取原文件内容,进行修改,并将修改后的写入新文件。
# 4,将原文件删除。
# 5,将新文件重命名成原文件。
 







 
原文地址:https://www.cnblogs.com/caoshitong/p/9482054.html