当前位置: 首页 > news >正文

Python文件及目录处理的方法

下面先来介绍python目录处理相关方法。

一、目录操作

1. 获取当前代码路径

1

2

3

4

5

6

7

8

9

test_folder.py

importos

importsys

print(__file__)

print(sys.argv[0])

print(os.path.realpath(__file__))

print(os.path.abspath(sys.argv[0]))

Out:

D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py
D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py
D:\ProgramWorkspace\PythonNotes\03-File-Handling\test_folder.py
D:\ProgramWorkspace\PythonNotes\03-File-Handling\test_folder.py

2. 获取当前文件__file__的所在目录

1

2

3

4

print(os.getcwd())

print(os.path.dirname(os.path.realpath(__file__)))

print(os.path.split(os.path.realpath(__file__))[0])

path=os.path.dirname(os.path.realpath(__file__))

Out:

D:\ProgramWorkspace\PythonNotes\03-File-Handling
D:\ProgramWorkspace\PythonNotes\03-File-Handling
D:\ProgramWorkspace\PythonNotes\03-File-Handling

3. 获取当前文件名名称

1

2

print(os.path.basename(sys.argv[0]))# 当前文件名名称

print(os.path.basename(__file__))

Out:

test_folder.py
test_folder.py

4. 拼接路径

1

2

3

4

path=os.path.dirname(os.path.realpath(__file__))

filename=os.path.basename(__file__)

abspath=os.path.join(path, filename)

print(abspath)

Out:

D:\ProgramWorkspace\PythonNotes\03-File-Handling\test_folder.py

5. 创建目录

判断目录是否存在:

1

os.path.exists(path)

创建目录:

1

2

3

ifnotos.path.exists(path):

print(f"创建文件夹: {path}")

os.makedirs(path)

二、文件操作

1. 创建文本文件

1

2

3

4

5

text="Hello World!"

newfilepath=os.path.join(path,"newfile.txt")

file=open(newfilepath,'w')

file.write(text)# 写入内容信息

file.close()

2. 判断文件是否存在

1

2

3

print(os.path.isfile(path))

print(os.path.isfile(newfilepath))

print(os.path.exists(newfilepath))

Out:

False
True
True

os.path.isfile用于判断是否为文件且是否存在,os.path.exists 也可以用于判断文件是否存在,但还是建议使用os.path.isfile 判断文件,os.path.exists判断目录是否存在。比如,某个文件为newfile,使用这两个方法都会返回True,无法判断到底是文件还是目录。

3. 判断文件属性

1

2

3

4

print(os.access(newfilepath,os.F_OK))# 文件是否存在

print(os.access(newfilepath,os.R_OK))# 文件是否可读

print(os.access(newfilepath,os.W_OK))# 文件是否可以写入

print(os.access(newfilepath,os.X_OK))# 文件是否有执行权限

Out:

True
True
True
True

os.access(newfilepath,os.F_OK)也可以用于判断文件是否存在。

4. 打开文件

打开文本文件或者二进制文件可以使用 open() 方法:

1

f=open(filename, mode)

几种文件打开模式:

  • b:二进制模式
  • t:文本模式(默认)
  • r: 打开存在的文件,读操作(默认)。
  • w: 打开文件,写操作,先前文件中的内容会被删除。如果文件不存在会自动创建。
  • a: 打开文件,追加操作,不会删除先前文件中的内容。如果文件不存在会自动创建。
  • x:创建新文件,写操作,使用此模式打开存在的文件会抛出异常。
  • r+: 读、写操作,不会删除先前文件中的内容,但是会覆盖内容。
  • w+: 写、读操作,会删除先前文件中的内容。
  • a+: 追加、读操作,不会删除和覆盖先前文件中的内容。
  • x+:创建新文件,读写操作。

open()方法的默认模式为 rt 模式,也就是读文本文件。

另外需要注意filename的写法,比如文件路径是:D:\test.txt ,其中\t 可能会被转义,需要自前面加一个 r :

1

f=open(r"D:\test.txt","w")

5. 写文件

读写文件都需要先打开文件,返回一个文件对象,然后对文件对象进行读写操作。写文件需要设置写权限,比如 w、w+、a 模式。

http://www.jsqmd.com/news/696815/

相关文章:

  • LM多风格生成探索:写实/时尚/角色/服饰四大方向提示词模板库
  • Hyperf对接 OneinStack 生产部署最佳实践
  • React Fiber架构深入理解
  • 终极指南:如何利用Swift并发模型构建DeskPad虚拟显示器的高效多线程架构
  • EasyRec革命性推荐框架:一站式解决大规模推荐系统构建难题
  • LeaguePrank完整教程:安全修改英雄联盟段位显示的终极指南
  • 终极NCM解密指南:3步快速解锁网易云音乐加密文件
  • UDS诊断(ISO14229-1)19服务 03 子功能 reportDTCSnapshotIdentification
  • postgresql函数pg_walfile_name()
  • Element-UI el-menu 样式美化全攻略:告别默认丑,打造高颜值后台侧边栏(附渐变背景+圆角代码)
  • 百度网盘直链解析:3大技术突破实现高速下载的完整指南
  • Python的__init_subclass__类装饰器组合与元类继承在多级定制中的协作
  • Phi-mini-MoE-instruct模型溯源:训练数据构成与偏见缓解措施披露
  • 零基础玩转PaddleOCR-VL-WEB:一键启动网页版OCR,小白也能轻松部署
  • WeDLM-7B-Base一文详解:32K上下文扩散语言模型的推理加速与精度平衡
  • 2026年买插座哪个品牌质量好一些?这份推荐值得参考 - 品牌排行榜
  • 终极罗技鼠标宏压枪指南:5分钟掌握绝地求生职业级技巧
  • 生产级AI智能体工程化实战:从架构设计到部署运维
  • 【C++初阶】初识C++:命名空间与引用详解
  • Linux操作系统:进程的切换与调度
  • Qwen3-4B-Instruct详细步骤:自定义system prompt与角色设定
  • Github好用项目系列(2)Spec Kit:驱动规范的开发如何颠覆传统的软件开发模式
  • 2026插座买什么牌子的好?安全耐用品牌推荐 - 品牌排行榜
  • 别再滥用keep-alive了!聊聊Vue 3中那些被忽略的缓存策略与性能陷阱
  • 2026年3月美妆加盟品牌推荐,美妆加盟公司 - 品牌推荐师
  • Pixel Language Portal应用场景:开发者社区多语种技术问答智能路由系统
  • 将 Kubernetes 理念引入端侧 AI:探索侠客工坊百万级“数字员工”节点的远程调度与自愈架构
  • 2025_NIPS_EA3D: Online Open-World 3D Object Extraction from Streaming Videos
  • 3分钟搭建自己的电话号码定位系统:免费开源解决方案完全指南
  • GTE-Pro入门必看:GTE-Large训练目标与对比学习损失函数解析