import sys, os
print(__file__) # 绝对路径,实际是文件名 /Users/majianyu/Desktop/test/bin/bin.py
print(os.path.abspath(__file__)) # 绝对路径
print(os.path.dirname(__file__)) # 文件夹路径 /Users/majianyu/Desktop/test/bin
print(os.path.dirname(os.path.dirname(__file__))) # 找上一层文件夹 /Users/majianyu/Desktop/test
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_DIR)
import os
print(os.getcwd()) # 获取当前工作目录 /Users/majianyu/Desktop/test
os.chdir('..')
print(os.getcwd()) # /Users/majianyu/Desktop
os.chdir('test') # 改变工作目录
print(os.getcwd())
print(os.curdir) # 返回当前工作目录
print(os.pardir) # 获取当前目录的父目录字符串名 (..)
os.makedirs('hello/test1', exist_ok=True) # 递归生成目录
# os.removedirs('hello/test') # 若目录为空则删除,并递归到上一级目录,若也为空则删除,以此类推
# os.mkdir('hello1') # 生成单级目录
# os.rmdir('hello1') # 删除单级目录
print('***********')
print(os.listdir('hello')) # 列出指定目录下所有文件和子目录,包括隐藏文件,并以列表方式打印
# os.remove('hello/test1/hello.py') # 删除某一文件
# os.rename('hello', 'hello1') # 重命名
print(os.stat('hello1/test1')) # 获取目录文件信息
# os.system('mkdir helloworld') # 运行shell命令
print(os.environ) # 列出系统环境变量
print(os.path.abspath('hello')) # 返回path规范化的绝对路径
print(os.path.split('test/hello1/test1')) # 将path分割成目录和文件名二元组返回
print(os.path.dirname('test/hello1/test1')) # 返回path的目录,实际上就是os.path.split('test/hello1/test1')第一个元素
print(os.path.basename('test/hello1/test1')) # 返回test1
print(os.path.exists('hello1/test1')) # 判断路径是否存在
print(os.path.isabs('hello1/test1')) # 判断是否是绝对路径
print(os.path.isfile('hello/test1')) # 判断是否是存在的文件
print(os.path.isdir('hello/test1')) # 判断是否是存在的目录
print(os.path.join('test', 'hello1', 'test1')) # 将路径组合后返回,第一个绝对路径之前的参数将被忽略
print(os.path.getatime('hello1/test1')) # 返回最后存取时间
print(os.path.getmtime('hello1/test1')) # 返回最后修改时间