Python中 os 库

import os #导入os 库

1.获取操作系统内容os.name
nt–windows posix–Linux、Unix或Mac OS X
print(os.name)

import os						#导入os 库
print(os.name)
#(输出)nt

2.打印详细的操作系统os.uname
windows 不行 linux 可以
print(os.uname())

import os 						#导入os 库
print(os.uname())

3,获取环境变量os.environ
print(os.environ)

import os 						#导入os 库
print(os.environ)
#(输出)environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Administrator\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'QGGE2NHGYDW371S', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Administrator', 'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'LOGONSERVER': '\\\\QGGE2NHGYDW371S', 'NUMBER_OF_PROCESSORS': '4', 'ONEDRIVE': 'C:\\Users\\Administrator\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'E:\\python\\python3.6\\Scripts\\;E:\\python\\python3.6\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\;C:\\Program Files\\Python37\\Scripts\\;C:\\Program Files\\Python37\\;C:\\Program Files\\Python37\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin;C:\\Program Files\\MySQL\\MySQL Utilities 1.6\\;E:\\VMware;E:\\python\\python3.6;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Program Files\\Python37;E:\\python\\PyCharm\\python3.6\\Scripts', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '3c03', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT': '(python3.6) $P$G', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'PYCHARM_HOSTED': '1', 'PYCHARM_MATPLOTLIB_PORT': '55998', 'PYTHONIOENCODING': 'UTF-8', 'PYTHONPATH': 'E:\\python\\PyCharm\\helpers\\pycharm_matplotlib_backend;E:\\python\\python3.6', 'PYTHONUNBUFFERED': '1', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'USERDOMAIN': 'QGGE2NHGYDW371S', 'USERDOMAIN_ROAMINGPROFILE': 'QGGE2NHGYDW371S', 'USERNAME': 'Administrator', 'USERPROFILE': 'C:\\Users\\Administrator', 'VIRTUAL_ENV': 'E:\\python\\PyCharm\\python3.6', 'WINDIR': 'C:\\WINDOWS', '_OLD_VIRTUAL_PATH': 'E:\\python\\python3.6\\Scripts\\;E:\\python\\python3.6\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\;C:\\Program Files\\Python37\\Scripts\\;C:\\Program Files\\Python37\\;C:\\Program Files\\Python37\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin;C:\\Program Files\\MySQL\\MySQL Utilities 1.6\\;E:\\VMware;E:\\python\\python3.6;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps锛汣:\\Program Files\\Python37', '_OLD_VIRTUAL_PROMPT': '$P$G'})

4.获取指定的环境变量os.environ.get
可以修改 容易出错

import os 						#导入os 库
print(os.environ.get("APPDATA"))
#(输出)C:\Users\Administrator\AppData\Roaming

5.获取当前目录os.curdir
会返回以个 “.” 表示当前路径

import os 						#导入os 库
print(os.curdir)
#(输出).

6.获取当前工作目录os.getcwd
即当前python脚本所在的目录

import os 						#导入os 库
print(os.getcwd())
#(输出).E:\python\python3.6\学习

7.以列表形式返回目录下的所有文件os.listdir
即当前python脚本所在的目录
print(os.listdir(文件地址))

import os 						#导入os 库
print(os.listdir(r"C:\Users\Administrator\PycharmProjects\untitled"))
#(输出).E:\python\python3.6\学习

8.在当前目录下创建新文件os.mkdir
os.mkdir()

import os 						#导入os 库
os.mkdir("sunck")
在Pychrm运行目录里创建文件
os.mkdir(r"C:\Users\Administrator\PycharmProjects\untitled\sunck")
在指定文件目录里创建新文件

9.删除os.rmdir
os.rmdir()

import os 						#导入os 库
os.rmdir("sunck")
os.rmdir(r"C:\Users\Administrator\PycharmProjects\untitled\扣丁课堂\sunck")

10.重命名os.rename
os.rename()

import os 						#导入os 库
os.rename(r"C:\Users\Administrator\PycharmProjects\untitled\sunck","kaige")

11.删除普通文件os.remove
os.remove()

import os 						#导入os 库
os.remove(r"C:\Users\Administrator\PycharmProjects\untitled\测试1")

12.运行shell命令os.system
os.system()

import os 								#导入os 库
os.system("notepad")					#写字本
os.system("write")						#写字板
os.system("mspaint") 					#画板
os.system("msconfig") 					#系统设置
os.system("shutdown -s -t 500")			#预约注销 在500秒后
os.system("shutdown -a") 				#取消注销计划
os.system("taskkill /f /im notepad.exe")#关闭程序

有些方法存在os模块里,还有些存在os.path中

13.查看当前的绝对路径os.path.abspath
os.path.abspath()

import os 								#导入os 库
print(os.path.abspath("."))
#(输出)E:\python\python3.6\学习

print(os.path.abspath("./os 模块 课程"))
#(输出)E:\python\python3.6\学习\os 模块 课程

14.拼接路径os.path.join
os.path.join()

import os 								#导入os 库
p1 = r"C:\Users\Administrator\PycharmProjects\untitled"
p2 = "os\模块\课程"
#注意p2中 开始不要有\ 后面可以有   \ 有可能会进行转义
print(os.path.join(p1,p2))
#(输出)C:\Users\Administrator\PycharmProjects\untitled\os\模块\课程

p3 = "root/sunck/home"
p4 = "kaige"
print(os.path.join(p3,p4))
#(输出)root/sunck/home\kaige
#join   Linux中也能用 通用性

15.拆分路径os.path.split
os.path.split()

import os 						#导入os 库
path2 = r"C:\Users\Administrator\PycharmProjects\untitled\sadada.txt"
print(os.path.split(path2)) 	#拆分后是元组
#(输出)('C:\\Users\\Administrator\\PycharmProjects\\untitled', 'sadada.txt')

16.拆分扩展名os.path.splitext
os.path.split()

import os 								#导入os 库
path2 = r"C:\Users\Administrator\PycharmProjects\untitled\sadada.txt"
print(os.path.splitext(path2))			#如果没有扩展名则为返回空格
#(输出)('C:\\Users\\Administrator\\PycharmProjects\\untitled\\sadada', '.txt')

17.判断是不是目录os.path.isdir
os.path.isdir()

import os 								#导入os 库
path2 = r"C:\Users\Administrator\PycharmProjects\untitled\sadada.txt"
print(os.path.isdir(path2))
#False
#(输出)False

18.判断文件是否存在os.path.isfiler
os.path.isfile()

import os 								#导入os 库
path3 = r"C:\Users\Administrator\PycharmProjects\untitled\测试.py"
print(os.path.isfile(path3))
#(输出)True

19.判断目录是否存在os.path.exists
os.path.isfile()

import os 								#导入os 库
path3 = r"C:\Users\Administrator\PycharmProjects\untitled\测试.py"
print(os.path.exists(path3))
#(输出)False

20.获得文件的大小(字节)0os.path.getsize
os.path.isfile()

import os 								#导入os 库
path3 = r"C:\Users\Administrator\PycharmProjects\untitled\测试.py"
print(os.path.getsize(path3))
#(输出)331

21.编码encode

import os 								#导入os 库
path = "C:\\Users\\Administrator\\Desktop\\新建文本文档.txt"
with open(path,"wb") as f1:
    f1.write(b"sunck is a good boy")
相当于
with open(path,"wb") as f1:
    str = "sunck is a good boy"
    f1.write(str.encode("utf-8"))
with open(path,"wb",encoding="utf-8") as f1:
#通过字节方式写入文件的时候,传给Python的必须是字节数据,否则就会报错:
#ValueError: binary mode doesn't take an encoding argument

22.decode 解码

import os 										#导入os 库
with open(path,"w",encoding="utf-8") as f3:
    str = "sunck is a good boy萨a德"
    f3.write(str)

with open(path,"r",errors= "ignore") as f4:		 #不写errors= "ignore" 此处也没报错
    data = f4.read()
    print(data)
    print(type(data))
10-07 15:44