Table of Contents
Python directory operations
New directory
New multi-level directory
Delete directory
Delete multi-level directory
Recursive copy tree
Recursively delete tree
Python file operation
Copy file
Move files
Delete files
Get the path of the current file
Python path processing
File path splicing
Determine whether the file or directory exists
Judge whether it is a file
Judge whether it is a directory
Get the name of the file
Get the name of the directory
Split the files in the path and directory
The file extension in the split path
Traverse the folder
When resetting the pointer in the file, in addition to the file part of the Python basics In addition to absolute positioning, relative positioning can also be achieved through the os module.
For more information, please refer to
Home Backend Development Python Tutorial Detailed explanation of Python file and directory operations

Detailed explanation of Python file and directory operations

Mar 09, 2017 am 09:33 AM
python

Python directory operations mainly rely on the os and shutil modules.

Python directory operations

New directory
os.mkdir("./test/")
#在当前目录下新建名为“test”的目录,存在则报错
Copy after login
New multi-level directory
os.makedirs("./test/test1/test2/")
#存在则报错
Copy after login
Delete directory
os.rmdir("./test/") 
#移除非空目录,不为空情况下报错
Copy after login
Delete multi-level directory
os.removedirs("./test/test1/test2") 
#移除最后一级(test2)非空目录,不为空情况下报错
Copy after login
Recursive copy tree
shutil.copytree("./test/","./test1/") 
#目标目录(./test1/)必须保证不存在,存在情况下报错
Copy after login
Recursively delete tree
shutil.rmtree("./test/") 
#删除test目录及所包含的文件和目录
Copy after login
Get the directory where the current file is located using os.getcwd(),sys.path[0]

Python file operation

Copy file
shutil.copyfile("./test/1.py","./test1/1.py") 
#目标(./test1/1.py)必须是新文件的路径,否则报错

shutil.copy("./test/1.py","./test1/") 
#目标可以是新文件的路径,也可以是新文件的目录,后者的情况下,新文件的名字为原文件的名字,若存在则覆盖
Copy after login
Move files
shutyil.move("./test/1.py","./test1/")
#目标目录不存在则报错,存在同名文件也报错,目标也可以是文件的路径,例如“./test1/2.py” 此时文件会先移动到test1文件夹下,然后对文件进行重命名为2.py
Copy after login
Delete files
os.remove("./test/1.py") 
#移除目标文件,不存在则报错
Copy after login
Get the path of the current file

os.path.abspath("./test") : Get the absolute path of the file
os.path.realpath("./test/"): Get the real path of the file

Python path processing

Python's processing of paths mainly exists under the os.path module

File path splicing
os.path.join("./test/","test1") #./test/test1/
Copy after login
Determine whether the file or directory exists
os.path.exists() 
#参数为文件路径或目录路径
Copy after login
Judge whether it is a file
os.path.isfile("./test/1.py") 
#True 文件不存在的情况下为 False
Copy after login
Judge whether it is a directory
os.path.isdir("./test/") 
#True. 目录不存在的情况下为 False
Copy after login
Get the name of the file
os.path.basename("./test/1.py") 
#1.py 路径不存在不会报错
Copy after login
Get the name of the directory
os.path.dirname("./test/test1/")
# ./test/test1 参数后面的反斜杠很重要,区别是文件路径还是目录路径。
Copy after login
Split the files in the path and directory
os.path.split("./test/test1/1.py") 
# ("./test/test1/","1.py")

os.path.split("./test/test1/") 
# ("./test/test1/","")
Copy after login
The file extension in the split path
os.path.splitext("./test/1.py") 
# ("./test/1",".py")
Copy after login
Traverse the folder
1)os.path.walk(path,func,args) 参数都必填
参数1为遍历的目录,文件路径不存在不报错
参数2为回调函数,定义为f(args,dirname,files)<dirname:文件当前遍历的目录,files:为当前目录下文件和目录信息的列表>
参数3与参数2中函数的参数1相对应
Copy after login
2)os.walk(path, topdown,onerror) 参数可选填
参数1为遍历的目录,文件路径不存在不报错
参数2为True或者不填时,遍历规则为先遍历目录在遍历文件,为False时与之相反
参数3为对错误处理的函数,它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
Copy after login
调用方式:
for dirname(当前遍历的目录),dirs(目录下的目录列表),files(目录下的文件列表) in os.walk(path)
Copy after login
When resetting the pointer in the file, in addition to the file part of the Python basics In addition to absolute positioning, relative positioning can also be achieved through the os module.
f.seek(位置,os.SEEK_SET<相对起始位置>|os.SEEK_END<相对结束位置>|os.SEEK_CUR<相对当前位置>)
Copy after login

For more information, please refer to

os Module: https://docs.python.org/2/library/os.html

shutil Module:https://docs.python.org/2/library/shutil.html




The above is the detailed content of Detailed explanation of Python file and directory operations. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

How to solve the problem of Pylance type detection of custom decorators in Python? How to solve the problem of Pylance type detection of custom decorators in Python? Apr 02, 2025 am 06:42 AM

Pylance type detection problem solution when using custom decorator In Python programming, decorator is a powerful tool that can be used to add rows...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

Python 3.6 loading pickle file error ModuleNotFoundError: What should I do if I load pickle file '__builtin__'? Python 3.6 loading pickle file error ModuleNotFoundError: What should I do if I load pickle file '__builtin__'? Apr 02, 2025 am 06:27 AM

Loading pickle file in Python 3.6 environment error: ModuleNotFoundError:Nomodulenamed...

Do FastAPI and aiohttp share the same global event loop? Do FastAPI and aiohttp share the same global event loop? Apr 02, 2025 am 06:12 AM

Compatibility issues between Python asynchronous libraries In Python, asynchronous programming has become the process of high concurrency and I/O...

What should I do if the '__builtin__' module is not found when loading the Pickle file in Python 3.6? What should I do if the '__builtin__' module is not found when loading the Pickle file in Python 3.6? Apr 02, 2025 am 07:12 AM

Error loading Pickle file in Python 3.6 environment: ModuleNotFoundError:Nomodulenamed...

How to ensure that the child process also terminates after killing the parent process via signal in Python? How to ensure that the child process also terminates after killing the parent process via signal in Python? Apr 02, 2025 am 06:39 AM

The problem and solution of the child process continuing to run when using signals to kill the parent process. In Python programming, after killing the parent process through signals, the child process still...

See all articles