os 对系统进行操作 | os 模块属性

 # ### os 对系统进行操作
import os
#system()  在python中执行系统命令
# os.system("touch ceshi1.txt") #linux
# os.system("ifconfig")
# os.system("mspaint") # windows
# os.system("ipconfig")

#popen()   执行系统命令返回对象,通过read方法读出字符串
# 使用popen 来解决windows 乱码的bug
'''
obj = os.popen("ipconfig")
print(obj)
res = obj.read()
print(res)
'''
#listdir() 获取指定文件夹中所有内容的名称列表
# 相对路径
res = os.listdir(".")
print(res)
res = os.listdir("./ceshi100")
print(res)
# 绝对路径 (以 / 开头)
# res = os.listdir("/mnt/hgfs/gongxiang_16/day16")
# print(res)


#getcwd()  获取当前文件所在的默认路径
res = os.getcwd()
print(res)
# __file__ 魔术属性 : 获取当前文件的完整路径
print(__file__)


#chdir()   修改当前文件工作的默认路径
# os.system("rm -rf ceshi1.txt")
# os.chdir("/home/wangwen/mywork")
# os.system("rm -rf 2.txt")
# os.system("mkdir ceshi222")

#environ   获取或修改环境变量  
#(返回的是一个系统的字典 [是所有环境变量的字典] 其中PATH这个键所有对应的值,是系统命令路径)
# 如果想要系统执行你的命令,需要先从PATH环境变量当中进行查找,如果找到了直接执行,找不到not found
# os.system("wangwen")

'''
(1) 创建一个文件夹 在家目录里,比如mywork
(2) 创建一个文件,叫wangwen,里面用nano 编辑 写ifconfig
(3) 修改wangwen文件的权限 chmod 777 wangwen
(4) sudo ./wangwen  执行当前脚本
(5) pycharm => os.system("wangwen") => 报错 . 找不到 ,因为系统环境变量PATH当中,没有该路径
(6) 利用os.environ 拼接一个新的路径到PATH环境变量当中,让系统帮助我们找到对应的路径,从而执行该命令
(7) os.environ['PATH'] += ":/home/wangwen/mywork" 把路径用拼接的形式加到环境变量里
(8) os.system("wangwen") => 成功~
'''

'''
res = os.environ
print(res)

# 获取PATH 这个环境变量所有的路径
os.environ['PATH'] += ":/home/wangwen/mywork"
os.system("wangwen")
'''

'''
environ(
{'PATH': '/home/wangwen/PycharmProjects/untitled/venv/bin
:/home/wangwen/bin
:/home/wangwen/.local/bin:/usr/local/sbin
:/usr/local/bin
:/usr/sbin
:/usr/bin
:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XAUTHORITY': '/home/wangwen/.Xauthority', 'XMODIFIERS': '@im=fcitx', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/
:/var/lib/snapd/desktop', 


'GDMSESSION': 'ubuntu', 
'MANDATORY_PATH': '/usr/share/gconf/ubuntu.mandatory.path', 'GTK_IM_MODULE': 'fcitx', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-oBOuAq0vFV', 'DEFAULTS_PATH': '/usr/share/gconf/ubuntu.default.path', 'PS1': '(venv) ', 'XDG_CURRENT_DESKTOP': 'Unity', 'UPSTART_SESSION': 'unix:abstract=/com/ubuntu/upstart-session/1000/1761', 'QT4_IM_MODULE': 'fcitx', 'QT_LINUX_ACCESSIBILITY_ALWAYS_ON': '1', 'LOGNAME': 'wangwen', 'JOB': 'unity-settings-daemon', 'PWD': '/mnt/hgfs/gongxiang_16/day16', 'IM_CONFIG_PHASE': '1', 'PYCHARM_HOSTED': '1', 'LANGUAGE': 'zh_CN:zh', 'PYTHONPATH': '/home/wangwen/PycharmProjects/untitled:/home/wangwen/mysoft/pycharm-2019.1.2/helpers/pycharm_matplotlib_backend:/home/wangwen/mysoft/pycharm-2019.1.2/helpers/pycharm_display', 'SHELL': '/bin/bash', 'GIO_LAUNCHED_DESKTOP_FILE': '/home/wangwen/.local/share/applications/jetbrains-pycharm.desktop', 'INSTANCE': '', 'GTK2_MODULES': 'overlay-scrollbar', 'UPSTART_INSTANCE': '', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'GTK_MODULES': 'gail:atk-bridge:unity-gtk-module', 'VIRTUAL_ENV': '/home/wangwen/PycharmProjects/untitled/venv', 'CLUTTER_IM_MODULE': 'xim', 'XDG_SESSION_PATH': '/org/freedesktop/DisplayManager/Session0', 'COMPIZ_BIN_PATH': '/usr/bin/', 'SESSIONTYPE': 'gnome-session', 'XDG_SESSION_DESKTOP': 'ubuntu', 'SHLVL': '0', 'COMPIZ_CONFIG_PROFILE': 'ubuntu', 'UPSTART_JOB': 'unity7', 'QT_IM_MODULE': 'fcitx', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg', 'GNOME_KEYRING_CONTROL': '', 'LANG': 'zh_CN.UTF-8', 'XDG_SEAT_PATH': '/org/freedesktop/DisplayManager/Seat0', 'XDG_SESSION_TYPE': 'x11', 'XDG_SESSION_ID': 'c2', 'DISPLAY': ':0', 'PYCHARM_DISPLAY_PORT': '45245', 'GDM_LANG': 'zh_CN', 'PYTHONIOENCODING': 'UTF-8', 'XDG_GREETER_DATA_DIR': '/var/lib/lightdm-data/wangwen', 'UPSTART_EVENTS': 'xsession started', 'SESSION': 'ubuntu', 'GPG_AGENT_INFO': '/home/wangwen/.gnupg/S.gpg-agent:0:1', 'DESKTOP_SESSION': 'ubuntu', 'USER': 'wangwen', 'GIO_LAUNCHED_DESKTOP_FILE_PID': '2358', 'QT_ACCESSIBILITY': '1', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'XDG_SEAT': 'seat0', 'PYTHONUNBUFFERED': '1', 'QT_QPA_PLATFORMTHEME': 'appmenu-qt5', 'XDG_RUNTIME_DIR': '/run/user/1000', 'XDG_VTNR': '7', 
'HOME': '/home/wangwen', 'GNOME_KEYRING_PID': ''})

'''
# ###--os 模块属性
#name 获取系统标识   linux,mac(UNIX) ->posix      windows -> nt
res = os.name
print(res)

#sep 获取路径分割符号  linux,mac -> /       window-> 
# 如果不确定系统是什么,用os.sep 来拼接路径
res = os.sep
print(res) # /home/wangwen/...   windows C:Drivers

#linesep 获取系统的换行符号  linux,mac -> 
    window->
 或 

res = os.linesep
print(repr(res))

  

原文地址:https://www.cnblogs.com/huangjiangyong/p/10920495.html