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
相关文章
|
30天前
|
存储 Python
Python文件操作(1)
【10月更文挑战第17天】
115 60
Python文件操作(1)
|
4月前
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
57 2
|
30天前
|
数据采集 存储 Python
Python文件操作2
【10月更文挑战第18天】
Python文件操作2
|
5月前
|
开发者 Python
Python基础第七篇(Python的文件操作)
Python基础第七篇(Python的文件操作)
|
5月前
|
存储 安全 开发者
文件操作?Python让你轻松搞定!
【6月更文挑战第12天】Python编程中的文件操作至关重要,涉及数据存储和系统交互。通过内置的`open()`函数,开发者可轻松处理文件。以只读模式`'r'`为例,使用`with`语句打开并读取文件内容;写入文件则用`'w'`或`'a'`模式。文件对象还支持高级功能,如文件指针移动,允许随机访问。掌握这些技能能提升开发效率。
33 0
|
2月前
|
存储 Python
Python文件操作
Python文件操作
|
2月前
|
存储 安全 Python
30天拿下Python之文件操作
30天拿下Python之文件操作
33 1
|
2月前
|
监控 安全 Java
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【9月更文挑战第13天】在Python系统编程中,文件操作与I/O管理至关重要。本文通过五个实战案例分享最佳实践:高效遍历文件系统、优雅处理文件读写、利用缓冲机制优化性能、并行处理文件加速任务以及异常处理确保程序稳健。使用pathlib、上下文管理器及concurrent.futures等工具,助你轻松掌握Python文件系统与I/O操作,提升编程效率和项目质量。 示例代码展示了如何使用pathlib遍历目录、with语句安全读写文件、控制缓冲区大小、并行处理多个文件以及捕获异常保证程序稳定运行。通过这些技巧,你将能够在实际项目中更加高效地管理和操作文件。
46 6
|
1月前
|
Java 程序员 Python
【Python】文件操作
【Python】文件操作
22 0
|
3月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
32 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
下一篇
无影云桌面