Python文件操作与管理

文件的打开与关闭

打开文件

open(file, mode='r', encoding='UTF-8')
# 若open()调用成功,返回一个文件对象

mode:文件打开模式

  • r/rb:(默认值)只读方式打开文本文件/二进制文件,若文件不存在,打开失败
  • w/wb:只写方式打开文本文件/二进制文件,若文件已存在则重写文件,否则创建新文件
  • a/ab:追加方式打开文本文件/二进制文件,只允许在文件末尾追加数据,若文件不存在则创建新文件
  • r+/rb+:以读写方式打开文本文件/二进制文件,若文件不存在,打开失败
  • w+/wb+:以读写方式打开文本文件/二进制文件,若文件已存在则重写文件,否则创建新文件
  • a+/ab+:以读写方式打开文本文件/二进制文件,只允许在文件末尾追加数据,若文件不存在则创建新文件

encoding:编码方式,常用UTF-8

关闭文件

file.close()

with语句

当打开与关闭操作较多时,容易遗漏关闭操作。可以使用with语句预定义清理操作、实现文件自动关闭

with open(file) as f:
    # 文件操作代码区
    pass

# 变量 f 用于接收打开的文件对象,使用完毕后with语句自动关闭文件 f

为什么要及时关闭文件?

  1. 打开的文件会占用系统资源
  2. 若文件以缓冲方式打开,磁盘文件与内存间的读写并非即时的,若程序异常关闭,可能造成数据丢失。

读文件

(1)read()

file.read(n=-1)

参数n

  • -1:一次性读取并返回文件所有数据
  • 不提供:一次性读取并返回文件所有数据
  • n>0:读取n个字节的数据

read()读取数据是连续的,不会从头开始。

with open(file,'r','UTF-8') as f:
    print(f.read(3))
    print(f.read()) # 该条语句从第四个字节开始读

(2)readline()

file.readline()

读取一行数据

(3)readlines()

file.readline(hint=-1)

一次性读取所有数据,若成功返回一个列表。

hint:读取的字节数,用于控制要读取的行数,若数据大小超过hint,则停止读取更多的行

(4)使用注意

若文件较大,通常多次调用read()每次少量读取,避免程序占用过多的内存资源

写文件

(1)write()

file.write(data)

若写入成功返回本次写入文件的字节数。

data:写入文件的数据

(2)writelines()

file.writelines(lines)

将行列表写入文件

lines:字符串或字符串列表,若需要换行在字符串添加换行符

定位读写文件

(1)tell()

file.tell()

返回文件当前读写的位置

(2)seek()

file.seek(offset, start)

控制文件读写位置,调用成功后会返回当前文件读写位置。

offset:相对文件读写位置的偏移量

start:指定文件读写位置

  • 0:文件开头
  • 1:当前读写位置
  • 2:文件末尾
with open(file,'r','UTF-8') as f:
    print(f.tell())
    loc = f.seek(5,0) # 指定文件读写位置为开头,偏移5个字节
    print(loc)
    print(f.tell())
    
'''
0
5
5
'''

文件与目录管理

Python中对文件与目录管理需要使用os模块

import os

删除文件 remove()

os.remove(file)

file:文件名或文件路径

文件重命名 rename()

os.rename(old_name, new_name)

old_name:原文件名

new_name:新文件名

创建目录 mkdir()

os.mkdir(dir)

dir:目录名或目录路径

创建目录 rmdir()

os.rmdir(dir)

dir:目录名或目录路径

获取当前目录 getcwd()

os.getcwd()

返回当前工作目录的绝对路径

更改默认目录 chdir()

os.chdir(path)

更改文件或文件夹操作的默认目录

path:目录名或目录路径

获取文件名列表 listdir()

dir_list = os.listdir(path)

返回文件名列表

path:目录名或目录路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python文件操作包括对文件的读取和写入。使用内置函数open()可以打开文件,并指定文件的路径、模式和编码。文件路径可以是绝对路径或相对路径。模式参数用于指定文件的打开模式,默认为文本读取模式。编码参数用于指定文本文件的字符编码。文件操作的基本步骤是打开文件操作文件内容、关闭文件。 以下是一个文件读取的示例代码: ```python # 打开文件 fb = open(file=r"C:\Users\LX\PycharmProjects\pythonProject\web_study\a.txt", mode="r", encoding="utf-8") # 读取文件内容 ct = fb.read() # 打印文件内容 print(ct) # 关闭文件 fb.close() ``` 此外,还可以使用相对路径来读取文件。相对路径是相对于当前脚本文件的路径。下面是使用相对路径读取文件的示例代码: ```python with open(file=r"a.txt", mode="r", encoding="utf-8") as fb: # 读取文件内容 ct = fb.read() # 打印文件内容 print(ct) ``` 为了更好地管理文件句柄,可以使用上下文管理器with语句。在with语句块中打开文件,当with语句块结束时,会自动关闭文件,无需手动调用close()方法。下面是使用with语句读取文件的示例代码: ```python with open(file=r"a.txt", mode="r", encoding="utf-8") as fb: # 读取文件内容 ct = fb.read() # 打印文件内容 print(ct) ``` 总结起来,Python文件操作可以通过open()函数打开文件,并使用不同的模式和编码进行读取或写入操作。为了避免资源浪费,可以使用with语句进行上下文管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python文件操作](https://blog.csdn.net/qq_41130705/article/details/124837017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风也很浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值