① 通过注册表来获取当前windows桌面绝对路径,无需安装第三方库,推荐使用。
-
import winreg
-
def desktopPath():
-
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,\
-
"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders")
-
return winreg.QueryValueEx(key, "Desktop")[0]
-
print( "桌面路径:",desktopPath())
返回结果:
桌面路径: C:\Users\12246\Desktop
② 通过os模块获取,改变了桌面路径后,可能会失效。
-
import os
-
def desktopPath():
-
# os.path.join(path, *paths) 组合成一个新目录
-
return os.path.join(os.path.expanduser("~"), 'Desktop')
-
print( "桌面路径:",desktopPath())
返回结果:
桌面路径: C:\Users\12246\Desktop
2、判断文件夹地址是否存在:
-
import os
-
def isDir(path):
-
# 判断文件夹地址是否存在
-
if not os.path.isdir(path):
-
print( "错误:"+ path+"文件夹不存在")
-
else:
-
print( "正确:"+path+"文件夹存在")
-
# 注意磁盘地址d要为小写
-
path = r"d:\英雄时刻\DSC_5514.JPG"
-
isDir(path)
返回结果:
错误:d:\英雄时刻\DSC_5514.JPG文件夹不存在
3、判断文件地址是否存在:
-
import os
-
def isFile(path):
-
# 判断文件地址是否存在
-
if not os.path.isfile(path):
-
print( "错误:"+ path+"文件地址不存在")
-
else:
-
print( "正确:"+path+"文件存在")
-
# 注意磁盘地址d要为小写
-
path = r"d:\英雄时刻\DSC_5514.JPG"
-
isFile(path)
返回结果:
正确:d:\英雄时刻\DSC_5514.JPG文件存在
4、计算目录下的所有文件和文件夹的数量和总大小( 递归可参考):
-
import os
-
size= 0
-
fileNumber= 0
-
dirNumber= 0
-
def fileInfo(path):
-
# 修改全局变量
-
global size
-
global fileNumber
-
global dirNumber
-
if os.path.isfile(path):
-
# 统计文件数量
-
fileNumber = fileNumber + 1
-
# 统计文件总大小
-
size = size + os.path.getsize(path)
-
else:
-
# 文件列表
-
for list in os.listdir(path):
-
# 组合
-
joinPath = os.path.join(path, list)
-
if os.path.isfile(joinPath):
-
# 统计文件数量
-
fileNumber = fileNumber + 1
-
# 统计文件总大小
-
size = size + os.path.http://www.mhylpt.com/ getsize(joinPath)
-
elif os.path.isdir(joinPath):
-
# 统计文件夹数量
-
dirNumber = dirNumber + 1
-
# 递归调用计算该文件夹下面的内容
-
fileInfo(joinPath)
-
# 文件地址
-
path= r"d:\英雄时刻"
-
fileInfo(path)
-
print( "文件大小:"+str(www.thd540.com size)+"B")
-
print( "文件数量:"+str(fileNumber)www.dasheng178.com+"个")
-
print( "文件夹数量小:"+str(www.yongshiyule178.com dirNumber)+"个")
返回结果:
-
文件大小: 1874661880B
-
文件数量: 7个
-
文件夹大小: 4个