文件处理------总结

文件

什么是文件

定义:操作系统提供的虚拟概念,存储信息(用二进制存储信息)

文件的操作核心是基于文件。

为什么要有文件

文件的编辑是在内存中能够进行的,但是内存无法永久编辑保存数据,如果我们想要保存数据,就需要将文件保存到硬盘中。

文件处理

什么是文件处理

定义:修改存储的信息。

适合大部分文件,除了PDF,EXCLE文件。

操作文件的流程

1.打开文件

①通过文件路径打开

open(需要注意的参数:①文件路径,②打开模式,③字符编码:encoding='utf8')

注:文件路径中的“ ''会表示横向制表符的意思,在打印的时候会报错,解决方法是:①使用\t,第一个会使第二个失去意义对于其他的也是一样。②在操作名之前加入r,会让你所输入的一行""都失去意义。

# 打开文件
it=open(r'D:上海python12期视频python12期视频、day 09	est.py')
print(it)

D:PythonPythonpython.exe "D:/Python学习/python 12期教学视频/test2.py"
<_io.TextIOWrapper name='D:Python学习python 12期教学视频 est.py' mode='r' encoding='cp936'>

输出的这个就是文件

2.修改文件

3.保存文件

4.关闭文件

del.f #只删除python中的文件

f.close() #告诉操作系统关闭文件,会让操作系统将python和操作系统内内存中的文件都关闭。

打开文件的三种模式

文件的打开需要授权,没有权限是没有办法打开的。

打开文件有两种方式:t :打开文本

b :打开文件的二进制模式

t模式

1.读取--r

r:读取文件,不存在的会报错

f = it = open(r'D:\Python学习\python 12期教学视频\test.py', 'rt', encoding='utf8')

date = f.read()   #读取所有文本的内容,注意使用后光标制动到文本的最后,如果要循环打印,需要加入 f.seek(0)将光标移动到最前边。
print(date)

判断文件可读还是可以写入:

f = open(r'D:\Python学习\python 12期教学视频\test.py', 'rt', encoding='utf8')

print(readable())   #输出为Ture,表示可以读。
print(writable())   #输出为False,表示不可写入。
print(f.readline())  #这个命令只会从第一行来读,是一行一行读的,输入一次只能读出来一行的内容。
print(f.readlines()) #可以一次性读取出来文本所有的内容。
#要循环读出文本的内容
for i in f.read():  #循环出一个个字符
    pring(i)

for i in f:         #循环出一行行的所有文件
    print(i)
    
    #文本读取读一行少一行,每一行末尾默认有一个换行

2.写入--w

w:如果被写入的文件中已经有内容,则该文件会被清空再进行写入,不存在的则会创建一个,这种状态下文件是不可读,只可以写的。

f = open(r'D:\Python学习\python 12期教学视频\test.py', 'wt', encoding='utf8')

print(f.readable())   #False
print(f.writable())   #Ture

f.write()             #会将文件内的所有内容清楚完添加

3.追加写入--a

a:再文件尾部添加内容,不存在的会创建文件,存在的则会直接再尾部进行添加

f = open(r'D:\Python学习\python 12期教学视频\test.py', 'at', encoding='utf8')

it.write('我')

print(it.readable())   #False
print(it.writable())   #Ture

b模式

一般用于图片/音频/视频的保存

import requests

response = requests.get('http://photocdn.sohu.com/20120708/Img347586981.jpg')
data = response.content

with open('长颈鹿.jpg','ab') as f:
    f.write(data)
   
  #就可以将图片保存下来

注:python/md/word默认的编码是utf8

​ txt默认的编码是gbk

​ pdf(pyPDF2)/excle(pandas)/xml(xml)/json/pkl

绝对路径与相对路径

文件的路径:文件在硬盘中的地址

绝对路径:从盘符开始 D:上海python12期视频python12期视频day 09关于if while for的总结.py,路径完整。

相对路径:执行文件(当前运行的文件)的文件夹下的文件名,执行文件和打开文件属于同一文件夹下,路径不完整,实在此文件夹下开始的。

在未来尽量使用相对路径

with管理文件操作

# with提供一个自动关闭文件(接触了操作系统的占用)
with open('关于if while for的总结.py', 'r', encoding='utf8') as f:
    # print(f.read())
    # 在这个缩进下不会关闭文件,在这个缩进下对文件操作
    data = f.read()  # data放到python的内存中

print(data)
# 关闭文件(操作系统),没有关闭python内存中的文件
print(f)  # 只涉及python
# print(f.read())  # 涉及操作系统,报错

原文地址:https://www.cnblogs.com/whkzm/p/11545346.html