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
相关文章
|
23天前
|
Python
Python文件操作学习应用案例详解
【4月更文挑战第7天】Python文件操作包括打开、读取、写入和关闭文件。使用`open()`函数以指定模式(如'r'、'w'、'a'或'r+')打开文件,然后用`read()`读取全部内容,`readline()`逐行读取,`write()`写入字符串。最后,别忘了用`close()`关闭文件,确保资源释放。
21 1
|
23天前
|
存储 JSON 数据管理
文件操作与管理:用Python读写数据
【4月更文挑战第8天】本文介绍了Python中进行高效文件操作与数据管理的方法。通过`os`模块管理目录,使用`open`函数读写文件,`pickle`模块保存和加载复杂数据结构。示例代码展示了如何读取和写入文本文件,处理CSV和JSON数据,以及利用`pickle`序列化和反序列化Python对象。掌握这些技能对于处理现代社会中的数据至关重要。
|
2天前
|
安全 Python
Python:文件操作详细教程
Python:文件操作详细教程
17 3
|
9天前
|
Python
Python文件操作技术详解
Python文件操作技术详解
19 1
|
13天前
|
存储 API Python
Python文件操作:深入解析与实例
Python文件操作:深入解析与实例
|
17天前
|
存储 传感器 Python
Python编程作业四:文件操作
Python编程作业四:文件操作
41 0
|
17天前
|
Python
Python基础 笔记(十) 文件操作、异常、模块
Python基础 笔记(十) 文件操作、异常、模块
29 3
|
18天前
|
存储 编解码 Python
初出茅庐,python模块篇:pickle模块和pathlib模块(太过详细,篇幅较长)_python文件操作模块有pickle模块
初出茅庐,python模块篇:pickle模块和pathlib模块(太过详细,篇幅较长)_python文件操作模块有pickle模块
|
23天前
|
存储 JSON 安全
Python中的文件操作与文件IO操作
【5月更文挑战第14天】在Python中,文件操作是常见任务,包括读取、写入和处理文件内容。`open()`函数是核心,接受文件路径和模式(如'r'、'w'、'a'、'b'和'+')参数。本文详细讨论了文件操作基础,如读写模式,以及文件IO操作,如读取、写入和移动指针。异常处理是关键,使用`try-except`捕获`FileNotFoundError`和`PermissionError`等异常。进阶技巧涉及`with`语句、`readline()`、`os`和`shutil`模块。数据序列化与反序列化方面,介绍了
26 0
|
23天前
|
Python
【Python操作基础】——文件操作
【Python操作基础】——文件操作