百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Python文件及目录处理方法_python目录下所有文件名

wptr33 2025-09-06 14:05 4 浏览

Python可以用于处理文本文件和二进制文件,比如创建文件、读写文件等操作。本文介绍Python处理目录以及文件的相关方法。

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

目录操作

1. 获取当前代码路径

test_folder.py

import os
import sys

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__的所在目录

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. 获取当前文件名名称

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

Out:

test_folder.py
test_folder.py

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. 创建目录

判断目录是否存在:

os.path.exists(path)

创建目录

if not os.path.exists(path): 
    print(f"创建文件夹: {path}")
    os.makedirs(path)

文件操作

1. 创建文本文件

text = "Hello World!"
newfilepath = os.path.join(path, "newfile.txt")
file = open(newfilepath, 'w')
file.write(text)  # 写入内容信息
file.close()

2. 判断文件是否存在

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. 判断文件属性

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() 方法:

f = open(filename, mode)

几种文件打开模式:

b
t
r
w
a
x
r+
w+
a+
x+

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

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

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

5. 写文件

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

写文件主要包括两种方法:

file.write(str)
file.writelines(list)

举个栗子:

file = open("newfile.txt", 'w')
text1 = "Hello World!\n你好,世界!\r"
file.write(text1)  # 写入内容信息

text2 = ["To the time to life, \n", "rather than to life in time.\r"]
file.writelines(text2)

file.close()

w 模式会删除先前文件中的内容,如果不想删除,需要直接追加到后面,可以使用 aa+ 模式:

file = open("newfile.txt", 'a')

6. 读文件

常见的读取文件方法有以下几种:

  • in操作符
  • read():读取所有数据,返回一个字符串。
  • readline():读取第一行
  • readlines():读取所有行,每行保存为列表的一个元素。
# 打开并读取文件
file = open("newfile.txt", 'r')

for line in file:
	print(line)
print()

file.seek(0, 0)
print(file.read(5))  # 
print()

file.seek(0, 0)
print(file.readline(12))
print()

file.seek(0, 0)
print(file.readlines())
print()

file.close()

执行结果:

Hello World!

你好,世界!

To the time to life, 

rather than to life in time.


Hello

Hello World!

['Hello World!\n', '你好,世界!\n', 'To the time to life, \n', 'rather than to life in time.\n']

读取file对象的所有内容后,文本的光标会移动到最后,再次读取file需要将光标移到前面,使用file.seek(0, 0) 方法可以将光标移到前面。还有一种解决方案是将读取的内容存一个在局部变量中。

7. with语句

with语句可用于异常处理,可以确保资源的适当获取及自动释放。使用with语句后就不需要调用file.close() 语句了,它会自动释放。

text1 = "Hello World!\n你好,世界!\r"
text2 = ["To the time to life, \n", "rather than to life in time.\r"]
# 写
with open("newfile.txt", "w") as file:
    file.write(text1)
    file.writelines(text2)

# 读
with open("newfile.txt", "r+") as file:
	print(file.read())

with语句对处理大文件非常有用,比如10G大小的文件, with语句会进行上下文管理。


原文
https://hiyongz.github.io/posts/python-notes-for-file-and-direction-handling/

相关推荐

栋察宇宙(二十一):Python 文件操作全解析

分享乐趣,传播快乐,增长见识,留下美好。亲爱的您,这里是LearingYard学苑!...

python中12个文件处理高效技巧,不允许你还不知道

在Python中高效处理文件是日常开发中的核心技能,尤其是处理大文件或需要高性能的场景。以下是经过实战验证的高效文件处理技巧,涵盖多种常见场景:一、基础高效操作...

Python内置模块bz2: 对 bzip2压缩算法的支持详解

目录简介知识讲解2.1bzip2压缩算法原理2.2bz2模块概述...

Python文件及目录处理方法_python目录下所有文件名

Python可以用于处理文本文件和二进制文件,比如创建文件、读写文件等操作。本文介绍Python处理目录以及文件的相关方法。...

The West mustn't write China out of WWII any longer

ByWarwickPowellLead:Foreightdecades,theWesthasrewrittenWorldWarIIasanAmericanandEuro...

Python 的网络与互联网访问模块及应用实例(一)

Python提供了丰富的内置模块和第三方库来处理网络与互联网访问,使得从简单的HTTP请求到复杂的网络通信都变得相对简单。以下是常用的网络模块及其应用实例。...

高效办公:Python处理excel文件,摆脱无效办公

一、Python处理excel文件1.两个头文件importxlrdimportxlwt...

Python进阶:文件读写操作详解_python对文件的读写操作方法有哪些

道友今天开始进阶练习,来吧文件读写是Python编程中非常重要的技能,掌握这些操作可以帮助你处理各种数据存储和交换任务。下面我将详细介绍Python中的文件读写操作。一、基本文件操作...

[827]ScalersTalk成长会Python小组第11周学习笔记

Scalers点评:在2015年,ScalersTalk成长会完成Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放在章节的习题上。Pytho...

ScalersTalk 成长会 Python 小组第 9 周学习笔记

Scalers点评:在2015年,ScalersTalk成长会完成Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放...

简析python 文件操作_python对文件的操作方法

一、打开并读文件1、file=open('打开文件的路径','打开文件的权限')#打开文件并赋值给file#默认权限为r及读权限str=read(num)读文件并放到字符串变量中,其中num表...

Python 中 必须掌握的 20 个核心函数——open()函数

open()是Python中用于文件操作的核心函数,它提供了读写文件的能力,是处理文件输入输出的基础。一、open()的基本用法1.1方法签名...

python常用的自动化脚本汇总_python 自动脚本

以下是python常用的自动化脚本,包括数据、网络、文件、性能等操作。具体内容如下:数据处理工具网络检测工具系统任务自动化工具测试自动化工具文件管理自动化工具性能监控工具日志分析工具邮件...

Python自动化办公应用学习笔记37—文件读写方法1

一、文件读写方法1.读取内容:read(size):读取指定大小的数据,如果不指定size,则读取整个文件。...

大叔转行SAP:好好学习,好好工作,做一个幸福的SAP人

我是一个崇尚努力的人,坚定认为努力可以改变命运和现状,同时也对自己和未来抱有非常高的期待。随着期待的落空,更对现状滋生不满,结果陷入迷茫。开始比较,发现周围人一个个都比你有钱,而你的事业,永远看不到明...