Python__35--文件操作

简介: 文件操作

1 文件编码格式设定

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bbd3b11c7ddd4c98bfb5130cb7cc6781~tplv-k3u1fbpfcp-zoom-1.image

程序开头 #encoding=gbk(编码格式)

2 文件的读写原理

  • Python操作文件>打开或新建文件>读写文件>关闭资源
  • 解释器运行py文件使用操作系统资源对硬盘中的文件进行操作
  • 语法规则 file=open(filename(文件名) [,mode(读或写,默认读),encoding(文本文件的编码格式,默认为gbk)]
file=open('a.txt','r')
print(file.readlines())
file.close()

3 常用文件打开操作

  • r,读取,不存在该文件会报错

    file=open('a.txt','r')
    print(file.readlines())
    file.close()
  • w,写入,如果不存在该文件则创建,存在则覆盖

    fp=open('b.txt','w') (当前目录写入)//指定路径写入fp=open('e:/a.txt', 'w')
    fp.write('python') //print('python',file=fp)
    fp.close()
  • a,以追加模式打开文件,存在则追加内容,不存在则创建

    file=open('b.txt','a')
    file.write('python')
    file.close()
  • b,以二进制打开文件,不能单独使用

    scr_file=open('logo.png','rb')
    target_file=open('copylogo.png','wb')
    target_file.write(scr_file.read())
    target_file.close()
    scr_file.close()
  • +,以读写的方式打开,如a+

4 文件对象的常用方法

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/20b8bede998e4e27bceac21adbb7de6d~tplv-k3u1fbpfcp-zoom-1.image

  • read([size]),size为读取的字符数,若省略,则读取全部
  • readline(),读一行
  • readlines(),读取每一行,结果为一个列表
  • write(),将字符串str内容写入文件
  • writelines(),将字符串列表s_list写入文件,不加换行符
  • seek(size),将指针移到size处,0处为字符串最左端

    file=open('b.txt','r')
    file.seek(2)
    print(file.read())
    print(file.tell())
    file.close()
  • tell(),返回当前文件指针的位置
  • flush(),将缓存区内容写入文件,不关闭文件
  • close(),将缓存区内容写入文件,关闭文件

5 with语句,不管什么原因跳出with都可以顺利关闭

with open('logo.png','rb') as scr_file:
    with open('copylogo2.png','wb') as target_file:
        target_file.write(scr_file.read())

6 目录操作

6.1 os模块

  • 调用系统的程序

    • 打开系统软件
    • os.system('notepad.exe')
    • os.system('calc.exe')
  • 调用可执行文件

    • 打开第三方软件,可执行文件
    • os.startfile()
    • import os
    • os.startfile("D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe")
  • 执行命令

    • 只需将该命令行以字符串输入
    • os.system(pip insatll wordcould)
  • 相关函数

    https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b7d4444911524a70840ef63a6644371c~tplv-k3u1fbpfcp-zoom-1.image

    import os
    print(os.getcwd())
    os.chdir('E:\\pythonProject\\chap14')
    print(os.getcwd())
    lst=os.listdir('..\chap15')
    print(lst)
    os.mkdir('newdir3')
    os.makedirs('a/b/c')
    os.rmdir('newdir3')
    os.removedirs('a/b/c')

6.2 os.path模块

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/186495363cf845359370329b59d8eded~tplv-k3u1fbpfcp-zoom-1.image

import os.path
print(os.path.abspath('test7.py'))
print(os.path.exists('test7.py'),os.path.exists('tast10.py'))
print(os.path.join('E:\\pythonProject','test7.py'))
print(os.path.split('E:\\pythonProject\\chap14'))
print(os.path.splitext('test7.py'))
print(os.path.basename('E:\\pythonProject\\chap14'))
print(os.path.dirname('E:\\pythonProject\\chap14'))
print(os.path.isdir('E:\\pythonProject\\chap14'))

6.3 实例

递归遍历所有文件,包括子目录下的文件

import os
path=os.getcwd()
lst_files=os.walk(path)
for dirpath,dirname,filename in lst_files:
    print(dirpath)
    print(dirname)
    print(filename)
    print('--------------------')
    for dir in dirname:
        rint(os.path.join(dirpath,dir))
    for file in filename:
        print(os.path.join(dirpath, file))
    print('--------------------')

列出指定目录下的所有py文件

import os
path=os.getcwd()
lst=os.listdir(path)
for filename in lst:
    if filename.endswith('.py'):
    print(filename
相关文章
|
3月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
165 72
|
3月前
|
移动开发 安全 Linux
Python文件操作的"保险箱":with语句深度实战指南
本文深入解析Python中`with`语句的原理与高级应用,通过“保险箱”类比,形象展示资源管理机制。从上下文管理协议到实战场景,涵盖文件、数据库、网络等多种资源的高效安全处理方式,助你写出更优雅、可靠的代码。
97 1
|
4月前
|
缓存 数据库连接 数据库
Python文件操作的“保险箱”:with语句深度实战指南
本文深入探讨Python中with语句在文件操作中的应用及其优势。首先介绍其底层原理,基于上下文管理协议自动管理资源的获取与释放,避免手动关闭文件导致的资源泄漏问题。接着通过基础文件读写、异常处理进阶和复合资源管理等实战场景解析with语句的便捷性与安全性。同时,阐述如何自定义上下文管理器以满足特定需求,并分析其性能考量及优化策略。最后总结实战经验,强调优先使用内置管理器、明确异常处理以及保持代码可读性的重要性,助力开发者高效编写健壮的程序。
82 1
|
4月前
|
自然语言处理 安全 JavaScript
Python文件操作的“保险箱”:with语句深度实战指南
Python中的`with`语句是文件操作和资源管理的强大工具,如同一个智能保险箱,自动处理打开和关闭操作,避免手动管理可能引发的错误。它通过上下文管理协议(`__enter__`和`__exit__`方法)确保资源在使用后正确释放。无论是逐块读取大文件、同时读写文件,还是处理特殊编码文件,`with`语句都能简化代码并提高安全性。此外,自定义上下文管理器可扩展到数据库连接等场景,而常见错误如重复关闭文件或忽略异常也需注意。结合生成器表达式批量处理文件时,`with`语句仍能保持高效和安全。总之,`with`语句是资源管理的瑞士军刀,让复杂操作变得简单可靠。
89 1
|
4月前
|
数据采集 运维 BI
Python 文件操作进阶|使用 shutil 实现高效文件复制
在开发和运维中,处理大量文件是常见需求,如备份配置、归档日志或构建部署包。手动复制粘贴已无法满足高效需求!Python 的 `shutil` 模块提供了强大的文件操作功能,支持单文件复制、目录树迁移及自动化任务构建。本文详解 `shutil.copy()` 基础用法与进阶技巧,如批量复制、自动路径检测、时间戳命名备份等,助你实现高效自动化。结合实战案例(如自动备份系统),让你的代码更专业!学习后,欢迎交流心得,一起精进 Python 技能。关注我,获取更多编程技巧与源码分享!
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
143 2
|
12月前
|
存储 Python
Python文件操作(1)
【10月更文挑战第17天】
199 60
Python文件操作(1)
|
12月前
|
数据采集 存储 Python
Python文件操作2
【10月更文挑战第18天】
79 2
Python文件操作2
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
118 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
存储 Python
Python文件操作
Python文件操作

推荐镜像

更多