1.os模块
# ### os模块 -对系统进行操作
import os
#system() 在python中执行系统命令
# os.system("mkdir ceshi0822") # linux
# os.system("mspaint") # windows
# os.system("ipconfig")
#popen() 执行系统命令返回对象,通过read方法读出字符串
obj = os.popen("ifconfig")
print(obj)
# 通过read方法直接把转换为utf-8的字符串读取出来
print(obj.read())
#listdir() 获取指定文件夹中所有内容的名称列表
# 路径:相对路径,绝对路径 .代表相对于当前
# 相对
# lst = os.listdir(".")
# 绝对
lst = os.listdir("/home/wangwen/")
print(lst)
"""
['1.py', '2.py', '20190822_1.json_pickle.mp4', '20190822_2.random.mp4', '20190822_3.time.mp4', '3.py', '4.py', 'ceshi1.json', 'ceshi2.json', 'ceshi3.pkl', 'part10.md', 'part11.md']
"""
#getcwd() 获取当前文件所在的默认路径
# 完整的目录
res = os.getcwd()
print(res) # /mnt/hgfs/gongxiang16/day15
# 完整的目录 + 文件名
print(__file__)
#chdir() 修改当前文件工作的默认路径
os.chdir("/home/wangwen/")
# os.system("touch 1.txt11")
os.system("rm -rf 1.txt11")
2.os.path模块
strvar = os.path.join(path1,path2,path3)
print(strvar) #路径拼接
res = os.path.basename(pathvar)
res = os.path.dirname(pathvar)
res = os.path.split(pathvar)
res = os.path.splitext(pathvar)
res = os.path.getsize("1.txt")
res = os.path.isdir("1.py")
res = os.path.isfile("1.txt")
res = os.path.islink("./ceshi002/ceshi001")
res = os.path.getctime("1.txt")
res = os.path.exists(pathvar)
res = os.path.abspath(path123)
3.递归法计算文件夹的大小
# (2) 递归计算文件夹大小
pathvar = "/mnt/hgfs/gongxiang16/day16/ceshi100"
def getallsize(pathvar):
size = 0
lst = os.listdir(pathvar)
for i in lst:
# 拼接完整的绝对路径
pathnew = os.path.join(pathvar,i)
if os.path.isfile(pathnew):
size += os.path.getsize(pathnew) ##计算文件的大小
elif os.path.isdir(pathnew):
# "/mnt/hgfs/gongxiang16/day16/ceshi100/ceshi200"
print(i,"文件夹")
size += getallsize(pathnew)
return size
res = getallsize(pathvar)
print(res)