zoukankan      html  css  js  c++  java
  • 文件处理------总结

    文件

    什么是文件

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

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

    为什么要有文件

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

    文件处理

    什么是文件处理

    定义:修改存储的信息。

    适合大部分文件,除了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())  # 涉及操作系统,报错
    
    
  • 相关阅读:
    Git教程
    test
    Android中的权限机制
    Android中<uses-library>的理解
    权限机制
    总是听到有人说AndroidX,到底什么是AndroidX?Android和AndroidX的区别
    VMware Tools按钮变灰色,无法安装的解决方法
    VMware Tools (ubuntu系统)安装详细过程与使用
    Android studio常用快捷键
    CVE漏洞分析
  • 原文地址:https://www.cnblogs.com/whkzm/p/11545346.html
Copyright © 2011-2022 走看看