import os
import shutil
ML = os.getcwd() # 获取当前的工作目录 # C:\Users\Administrator\Desktop\python\os
print(ML)
print('-' * 50, '当前目录', '-' * 50) # 会输出当前目录
# # 获取某一个文件夹下所有的子文件以及子文件夹的名字
# print('-' * 50, 'listdir 获取某一个文件夹下所有的子文件以及子文件夹的名字', '-' * 50)
# res = os.listdir('..') # 获取当前文件的子文件以及子文件夹的名字
# print(res)
# print(res[1]) # res 的第二个文件信息
# os.remove 只能删除文件
# os.remove(r'C:\Users\Administrator\Desktop\python\1.txt') # 删除绝对目录下的文件
# 获取此绝对路径下的子文件以及子文件夹的名字
# print('-' * 50, 'listdir 获取此绝对路径下的子文件以及子文件夹的名字', '-' * 50)
# rea = os.listdir(r'C:\Users\Administrator\Desktop\python\os')
# print(rea)
#
# # 获取此文件字节大小
# print('-' * 50, 'listdir 获取此文件字节大小', '-' * 50)
# daxiao = os.path.getsize(r'C:\Users\Administrator\Desktop\python\os\os学习.py')
# print(daxiao)
#
# # 获取此目录字节大小
# print('-' * 50, 'listdir 获取此目录字节大小', '-' * 50)
#
# # 修改文件或文件夹名字
# # os.rename('x_实验.py', 'x_修改.py')
# print(os.name) # 输出结果对于:posix , nt , java, 对应linux/windows/java虚拟机
# print(os.sep) # 输出当前操作系统的路径分隔符;windows 展示 “\”;linux ”/“
# print(os.linesep) # 输出当前操作系统的换行符
# print(os.getenv('path')) # 读取环境变量
# print(os.environ) # 获取系统环境变量
# os.mkdir('1.txt') # 创建一个目录
# os.rmdir(r'C:\Users\Administrator\Desktop\python\os\实验文件夹') # 删除空文件夹,若不是空文件夹则会报错
# print(os.mkdir(r'C:\Users\Administrator\Desktop\python\a')) # 创建单层文件夹
# print(os.mkdir('a')) # 创建单层文件夹
# print(os.rmdir('a')) # 删除单层空目录 ,若不为空则不删
# Dgshengcheng = os.makedirs('a/d/c') # 递归生成多层目录 输出 None 表示执行成功
# if Dgshengcheng is None:
# print('目录生成成功')
# else:
# print(Dgshengcheng)
# print(os.removedirs('a/d/c')) # 递归删除空文件夹,若文件夹有内容则保留 返回None 代表执行成功
# print(os.chdir('b')) # 改变当前脚本本次运行目录,到指定目录,不会改变文件的 实际存放位置
# print(os.getcwd())
# print(os.remove(r'C:\Users\Administrator\Desktop\python\os\新建 文本文档.txt')) # 删除当前文件或指定路径下的文件,但不能删除目录
# print(shutil.rmtree('110')) # 添加一个方法 删除目录 可以删除非空的目录, 只能删除目录 不能删除文件, 返回None表示成功
# print(os.rename('b', 'c')) # 更改文件名或者目录名
# print(os.stat('110.txt')) # 获取文件的详细信息
"""st_mode 保护模式/权限模式, st_ino 索引号, st_dev 设备名, st_nlink 硬链接号(被连接数目), st_uid 所有者的用户ID,
st_gid 所有者的组ID, st_size 文件的大小/以位为单位, st_atime 文件最后访问时间, st_mtime 文件最后修改时间,
st_ctime 由操作系统报告的“时间”。Windows系统,为文件创建时间;在某些系统(如 Unix)上是最后一次元数据更改的时间。
"""
'''--------------------------------------------------Path部分--------------------------------------------------'''
# print(os.path.curdir) # 返回表示当前目录(current directory)的字符串,win系统可能就是返回一个点(.),用于确定任何一个驱动器当前目录的函数。
# print(os.pardir) # 返回当前目录的父目录(current directory)的字符串,win系统可能就是返回一个点(..),用于确定任何一个驱动器当前目录的函数。
# -----------------------------------将cmd的显示字符编码从默认的GBK改为UTF-8----------------------------------------
# print(os.system('dir')) # 运行shell命令,直接显示
# os.system('chcp 65001') # 将cmd的显示字符编码从默认的GBK改为UTF-8
# while True:
# b = input("请输入: ")
#
# def van():
# return os.system(b)
#
# a = van()
# print(a)
# -------------------------------------------------------------------------------------------------------------
# print(os.path.abspath('c')) # 获取绝对路径/ 文件或文件夹
# print(os.path.split(r'C:\Users\Administrator\Desktop\python\os\c')) # 将path分割成目录和文件名
# print(os.path.dirname(r'C:\Users\Administrator\Desktop\python\os\c')) # 返回path的目录,也就是os.path.split(path)的第一个元素
# print(os.path.basename(r'C:\Users\Administrator\Desktop\python\os\c')) # 返回path最后的文件名,也就是os.path.split(path)的第二个元素
# print(os.path.join(r'C:\Users\Administrator\Desktop\python', 'os', 'os学习.py')) # 将多个路径组合后返回。第一个绝对路径之前的参数将被忽略
# print(os.path.getatime('os学习.py')) # 返回path所指向的文件或目录最后的存取时间
# print(os.path.getmtime('os学习.py')) # 返回path所指向的文件或目录最后的修改时间
# print(os.path.realpath('.')) # 获取当前文件的绝对路径,__file__指当前文件
# print(os.path.exists('os学习.py')) # 如果path存在则返回true,否则返回false
# print(os.path.exists(r'C:\Users\Administrator\Desktop\python\os\os学习.py')) # 判断文件和目录是否存在:存在则返回true,否则返回false
# print(os.getcwd())
os.environ['aaa'] = '1'
print(os.environ)