python之os模块详解
os模块详解
在看⼤神们的代码时经常能看到os模块的⾝影,然后就想着做⼀下总结,⽅便以后查看
下图是参考CSDN博主“数据分析与统计学之美”,⾮常感谢博主的图⽚
下⾯我们针对每⼀个详细的介绍⼀下其⽤法:
(1)os.getcwd() 获取当前的⼯作路径;
>>>import os
>>> os.getcwd()
'C:\\Users\\cc'
(2)os.listdir(path) 显⽰当前⽂件夹下所有⽂件和⽬录组成的列表;
>>> wd()
>>> os.listdir(path)
['.anaconda','.android','.AndroidStudio3.5','.astropy','.bash_history','.cache','.conda','.condarc','.config','.designer','.emulator_console_auth_token','.g itconfig','.gradle','.ipython','.jupyter','.keras','.labelmerc','.liarcom-gui.cfg','.matplotlib','.spyder-py3','.ssh','1.3.6.1.4.1.14519.5.2.1.6279.6001.8619978 85565255340442123234170.mhd','1.3.6.1.4.1.14519.5.2.1.6279.aw','3D
Objects','Anaconda3','ansel','Ap pData','Application Data','Contacts','Cookies','Datasets','Desktop','Documents','Downloads','Favorites','Links','Local Settings','MicrosoftEdgeBackups ','Music','My Documents','NetHood','NTUSER.DAT','ntuser.dat.LOG1','ntuser.dat.LOG2','NTUSER.DAT{53b39e87-18c4-11ea-a811-000d3aa4692b}.T ans-ms','NTUSER.DAT{53b39e87-18c4-11ea-a811-000d3aa4692b}.ans-ms','NTUSER.DAT{53b39e87-18c4-11ea-a811-000d3aa46 92b}.ans-ms','NTUSER.DAT{53b39e87-18c4-11ea-a811-000d3aa4692b}.TxR.blf','NTUSER.DAT{53b39e88-18c4-11ea-a811-000d3aa4692b} .TM.blf','NTUSER.DAT{53b39e88-18c4-11ea-a811-000d3aa4692b}.ans-ms','NTUSER.DAT{53b39e88-18c4-11ea-a811-000d3aa4692b}.ans-ms','ntuser.ini','OneDrive','Pictures','PrintHood','PycharmProjects','Recent', 'Saved Games','Searches','SendTo','Templates','UIDowner','Videos','「开始」菜单']
(3)os.walk(path)
含义:含义 :传⼊任意⼀个path路径,深层次遍历指定路径下的所有⼦⽂件夹,返回的是⼀个由路径、⽂件夹列表、⽂件列表组成的元组(4)ists(path)
作⽤:传⼊⼀个path路径,判断指定路径下的⽬录是否存在。存在返回True,否则返回False;
>>>import os
>>> os.getcwd()
'C:\\Users\\cc'
>>> wd()
>>> ists(path)
True
(5)os.mkdir(path)
含义:传⼊⼀个path路径,创建单个⽂件夹;
>>> os.getcwd()
'C:\\Users\\cc'
>>> path2 = os.getcwd()+"\\cuicui"
>>> os.mkdir(path2)
>>> path2
'C:\\Users\\cc\\cuicui'
(6)os.makedirs():传⼊⼀个path路径,⽣成⼀个递归的⽂件夹
注意:如果⽂件夹已经存在,就会报错。因此创建⽂件夹之前,需要使⽤ists(path)函数判断⽂件夹是否存在;
if ists("./weights")is False:
os.makedirs("./weights")# 功能:新建⽂件夹
>>> os.getcwd()
'C:\\Users\\cc'
>>> wd()+"\\cuicui"
>>> os.mkdir(path1)
>>> path1
'C:\\Users\\cc\\cuicui'
>>> os.makedirs("cuicui\\1")
>>> path2=os.makedirs("cuicui\\1")
Traceback (most recent call last):
File "<stdin>", line 1,in<module>
File "C:\Users\cc\Anaconda3\lib\os.py", line 220,in makedirs
mkdir(name, mode)
FileExistsError:[WinError 183]当⽂件已存在时,⽆法创建该⽂件。:'cuicui\\1'
(7)os.rmdir(path)
含义:传⼊⼀个path路径,删除指定路径下的⽂件夹;
注意:该⽅法只能删除空⽂件夹,删除⾮空⽂件夹会报错;
>>> os.rmdir('cuicui//1//2')
(8)os.path.join(path1,path2)
含义:传⼊两个path路径,将该路径拼接起来,形成⼀个新的完整路
>>> path2
'C:\\Users\\cc\\a\\b\\c'
>>> f="1.txt"
>>> os.path.join(path2,f)
'C:\\Users\\cc\\a\\b\\c\\1.txt'
>>>
(9)os.path.split(path)
含义:传⼊⼀个完整的path路径,将其拆分为绝对路径和⽂件名两部分
>>> path3=os.path.join(path2,f)
>>> os.path.split(path3)
('C:\\Users\\cc\\a\\b\\c','1.txt')
>>>
(10)os.path.dirname(path)
含义:传⼊⼀个完整的⽂件路径,只获取其绝对路径;
>>> path3=os.path.join(path2,f)
>>> os.path.split(path3)
('C:\\Users\\cc\\a\\b\\c','1.txt')
>>> path4=os.path.dirname(path3)
>>> path4
'C:\\Users\\cc\\a\\b\\c'
>>>
(11)os.path.basename(path)
含义:传⼊⼀个完整的⽂件路径,只获取其⽂件名;
>>> path3
'C:\\Users\\cc\\a\\b\\c\\1.txt'
>>> path5=os.path.basename(path3)
>>> path5
'1.txt'
python怎么读取dat文件(12)os.path.isdir(path)
含义:传⼊⼀个完整的⽂件路径,判断它是否是⽂件夹;
path = os.getcwd()
file_list = os.listdir()
for file in file_list:
if os.path.isdir(file):
print(file)
(13)os.path.isfile(path)
含义:传⼊⼀个完整的⽂件路径,判断它是否是⽂件;
path = os.getcwd()
file_list = os.listdir()
for file in file_list:
if os.path.isfile(file):
print(file)
(14)os.path.sep
含义:返回当前操作系统的路径分隔符;
>>> os.path.sep
'\\'
(15)size(path)
含义:传⼊⼀个完整的⽂件路径,返回该⽂件的⼤⼩;
>>> size("cuicui")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。