Python基础之OS库

本文介绍了Python中的OS库,包括os.path.join()用于拼接文件路径,os.chdir()改变当前工作目录,os.makedirs()递归创建文件夹,以及os.path模块的多种功能,如获取绝对路径、判断是否为绝对路径、获取相对路径、文件基本名称和目录名称等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python基础之OS库

1.文件与文件路径

1.os.path.join()拼接文件夹与文件
  • 将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join()就会返回一个文件路径的字符串
>>> import os
>>> os.path.join("usr","bin","spam")
'usr\\bin\\spam'
  • 这里我们可以注意到,倒斜杠有两个,其中第一个倒斜杠是转义字符
  • 这里有一个很好用的方法,如果我们需要在一个文件夹里面创建多个文件,那么我们可以用文件名列表的的文件名称添加到文件夹后面,说起来好像有点绕。。。看代码
>>>Files_name = ["mingming.txt","wangwang.jpg","dongdong.csv"]
>>>for file in Files_name:
	print(os.path.join('C:\\users\\python',file))
C:\users\python\mingming.txt
C:\users\python\wangwang.jpg
C:\users\python\dongdong.csv
2.os.chdir()当前工作目录
  • 所有文件都是自己的一个“当前的工作目录”,如果没有设定从根文件夹开始工作的文件名或路径,都假定从当前文件目录开始的,我们可以用os.getcwd()来显示当前的工作路径。
>>>import os
>>> print(os.getcwd())
C:\Users\python
>>> os.chdir("test_chdir")
C:\Users\python\test_chdir
3.os.makedirs()创建文件夹
  • 程序可以利用os.makedirs()创建新的文件夹,但需要确定文件夹不存在,makedies()可以实现递归创建文件夹,创建所有必要的中间文件夹,确保路径的正确。
import os
os.makedirs('C:\\users\\python\\test1\\test2')
4.os.path模块
  • os.path.abspath(path):将返回参数的绝对路径的字符串,相对路径转换成绝对路径。
  • os.path.isabs(path):如果参数是一个绝对路径,则返回一个Ture;参数如果是相对路径,则返回False
>>>import os
>>> print(os.getcwd())
C:\\users\\python\\test1
>>>print(os.path.abspath("."))
C:\\users\\python\\test1\\test2
>>>print(os.getcwd())
C:\\users\\python\\test1

我们可以发现abspath()方法可以返回修改后的值,但不会修改当前的工作目录

>>>import os
>>>os.path.ispath(".")
False
>>>os.path.ispath("os.path.ispath('.')")
True
  • os.path.relpath(path,start): 将返回从start路径到path的相对路径的字符串,如果没有提供start,就默认从当前工作目录作为开始路径。
  • os.path.basename: 获取目录的基本名称,跟在路径种最后一个斜杠,它和文件名一样
  • os.path.dirname: 获取目录名称。
>>>import os
>>>path = "C:\\Window\\System32\\calc.exe"
>>>print(os.path.dirname(path))
C:\Window\System32
>>>print(os.path.dirname("C:\\Window\\System32\\"))
C:\Window\System32


>>>import os
>>>path = "C:\\Window\\System32\\calc.exe"
>>>print(os.path.basename(path))
calc.exe
>>>print(os.path.dirname(path))
C:\Window\System32
>>>print(type(os.path.dirname(path)))
<class 'str'>
>>>print(os.path.split(path))
('C:\\Window\\System32', 'calc.exe')

这里我们可以发现,basename()和dirname()方法返回的是一个字符串,而split()方法返回的是一个元组类型的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值