文件处理

Posted hj59988326

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理相关的知识,希望对你有一定的参考价值。

文件处理(二)

文件处理

什么是文件:操作系统提供的虚拟概念,存储信(用二进制存储信息)

什么是文件处理:修改存储信息

操作流程:

  1. 打开文件

    print('D:\上海python12期视频\python12期视频\day 09\test.py')
    print('D:\上海python12期视频\python12期视频\day 09\\test.py') # \\t--》第一个\会让第二个\失去意义
    print(r'D:\上海python12期视频\python12期视频\day 09\test.py') # r会让内部所有的\失效
  2. 修改/读取文件

    f.write('''
    孩儿立志出湘关,学不成名誓不还
    埋骨何须桑之地,人生无处不青山
    ''')
  3. 保存文件

    f.flush() # 快速保存,你可以不使用
  4. 关闭文件

    f.close # 告诉操作系统关闭文件

文件的三种打开方式

  1. 读取

    # 读取:rt   read_text 读文本内容,只读,不可修改
    f =open(r'D:\上海python12期视频\python12期视频\day 09\test.py', 'rt', encoding='utf8')
    
  2. 写入

     # wt:只写(w清空文件后写入),不可读
    f = open(r'D:\上海python12期视频\python12期视频\day 09\test.py', 'wt', encoding='utf8')
    
  3. 追加写入

    # at:只写入(追加写入)
    f = open(r'D:\上海python12期视频\python12期视频\day 09\test.py', 'at', encoding='utf8')
    f.write('中')

    打开文件的两种方式:

    t --->文本

    b---->二进制模式:这两个东西不单独使用,一般与r/w/a联用,不需要encoding

    b模式一般用于图片/音频/视频保存

绝对路径和相对路径

绝对路径:从盘符开始D:\上海python12期视频\python12期视频\day 09\test.py

相对路径:执行文件(当前运行的文件)的文件下的文件名,执行文件和打开文件属于同一文件下

尽量用相对路径

f = open('test.py','r',encoding='utf8')
print(f.read())

with管理文件上下文

with:提供一个自动关闭文件(解除了操作系统的占用)

with pen('text.py','r',encoding='utf8') as f:
    date = f.read   # data放到python的内存中
    
print(date)
# 关闭文件(操作系统),没有关闭python内存中的文件

文件的高级应用

三种新模式:

  1. 可读可写:r+

    with open('text.py','r+',encoding='utf8')
     fr.write('高级')  # 光标在文件头部,覆盖后面的字符
  2. 可读可写:w+ 和w没任何区别

    with open('text.py','w+',encoding='utf8')
     fr.write('高级')  # 先清空后写入
  3. 可读可写:a+ a模式默认光标在尾部

    with open('text.py','a+',encoding='utf8')
     print(fr.read())    # 光标在文件末尾,所以显示为空
  4. 文件修改

    # 同时打开多个文件
    # (1)
    with open('test.py', 'r', encoding='utf8') as fr,          open('test_swap.py', 'w', encoding='utf8') as fw:
    
        date = fr.read()
        date= date.replace('sb','bs')
    
        fw.write(date)
    
    
    # (2)
    with open('test.py', 'r', encoding='utf8') as fr,          open('test_swap.py', 'w', encoding='utf8') as fw:
         # 再大的文件都能修改
         for i in fr:
             s = '傻逼'
             i = i.replace('sb', s)
             fw.write(i)
             fw.flush()  # 先保存成功再继续运行

以上是关于文件处理的主要内容,如果未能解决你的问题,请参考以下文章

如何使用批处理文件一次打开两个文件

批处理文件注册OCX

Python文件处理注意事项总结

Qt文件处理

求批处理文件,处理hosts中的某行IP地址

C# (批处理) 过期的文件删除