os模块
简介
os
模块是与操作系统交互的一个接口- 导入模块:
import os
操作相关
os.getcwd()
os.curdir
os.pardir
os.listdir()
os.listdir("/")
os.mkdir("/tmp/mytest")
os.makedirs("/tmp/aaa/bbb")
os.chdir("/")
os.removedirs("a/b")
os.remove("/tmp/a.txt")
os.symlink("/etc/passwd", "mima")
os.unlink("mima")
os.stat('aaa')
os.sep
os.linesep
os.pathsep
os.name
os.environ
os.system('ls ~')
os.popen('ls ~').read()
os.path.exists('/tmp/test.txt')
os.path.abspath('1.txt')
os.path.basename(('/etc/selinux/config')
os.path.dirname('/etc/selinux/config')
os.path.isabs('/root')
os.path.isfile('/root/1.txt')
os.path.isfile('/tmp')
os.path.getatime('/tmp')
os.path.getmtime('/tmp')
os.path.getsize('1.txt')
os.path.split('/etc/selinux/config')
os.path.join('/etc/selinux', 'config')
os.path.join('/etc/selinux', 'config', '111')
示例
import os, sys
print(__file__)
print(os.path.dirname(__file__))
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_DIR)
import os
def get_size(file_path):
size = 0
if os.path.exists(file_path) == False:
return size
if os.path.isfile(file_path):
return os.path.getsize(file_path)
dir_list = [file_path, ]
while dir_list:
""" 当目录列表不为空,进行循环 """
d = dir_list.pop()
fp_list = os.listdir(d)
for fp in fp_list:
f = os.path.join(d, fp)
if os.path.isdir(f):
""" 当f是目录的时候,就添加到dir_list """
dir_list.append(f)
else:
""" 当f不是目录,就获取它的大小 """
size += os.path.getsize(f)
return size
if __name__ == '__main__':
res = get_size("/data")
print(res)
import os
def get_size(file_path):
size = 0
if os.path.exists(file_path) == False:
return size
if os.path.isfile(file_path):
return os.path.getsize(file_path)
f_list = os.listdir(file_path)
for f in f_list:
fp = os.path.join(file_path, f)
if os.path.isdir(fp):
""" 是目录,进入递归 """
size += get_size(fp)
else:
""" 是文件,计算文件大小并添加 """
size += os.path.getsize(fp)
return size
if __name__ == '__main__':
res = get_size("/data")
print(res)