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))