Python os和sys模塊基本操做

os模塊屬性:

在Mac平臺結果:python

1 、os.path 輸出python環境所在系統中路徑linux

print(os.path)shell

<module 'posixpath' from '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/posixpath.py'>

二、os.name 輸出字符串指示正在使用的平臺。若是是window 則用'nt'表示,對於Linux/Unix用戶,它是'posix'。bash

print(os.name) # posixapp

三、os.curdir 系統表示當前目錄所用的字符串函數

print(os.curdir) # .ui

四、os.pardir 系統中表示父目錄的字符串spa

print(os.pardir) # ..命令行

五、os.sep 系統路徑分隔符unix

print(os.sep) # /

六、os.extsep 系統使用的擴展符

print(os.extsep) # .

七、os.altsep 備用路徑分隔符 None

print(os.altsep) # None

八、os.pathsep 在路徑中使用的組件分隔符

print(os.pathsep) # :

九、os.linesep 系統 換行符

print(os.linesep) # '\r' or '\n' or '\r\n'

十、os.defpath 可執行文件的默認搜索路徑

print(os.defpath) #:/bin:/usr/bin

十一、空設備文件路徑

print(os.devnull) #/dev/null

os模塊函數

一、os.getcwd() 獲取當前工做目錄,即當前python腳本工做的目錄路徑

cwd = os.getcwd()
print(cwd)
/Users/suxianglun/PycharmProjects/pythontest

二、os.chdir(r'/Users/') 切換當前工做目錄到指定目錄

os.chdir(r'/Users')
cwd = os.getcwd()
print(cwd)
/Users

三、os.makedirs('abc/allen/nv')# 建立多級目錄 ,若是文件存在就會報錯 FileExistsError: [Errno 17] File exists:

四、os.mkdir('efg') # 建立單級目錄

五、os.removedirs('abc/allen/nv') # 刪除多級目錄

六、os.remove('nv') # 刪除單級目錄

七、os.listdir('abc/')列出指定目錄下的全部文件和子目錄,包括隱藏文件,並以列表方式打印

print(os.listdir('abc/')) [allen]

八、os.system("ls") 運行shell命令,直接顯示

九、os.environ 獲取系統環境變量

environ({'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/Users/suxianglun/Library/Android/sdk/tools:/Users/suxianglun/Library/Android/sdk/platform-tools:', 'PYTHONPATH': '/Users/suxianglun/PycharmProjects/pythontest', 'ANDROID_SDK': '/Users/suxianglun/Library/Android/sdk', 'SHELL': '/bin/bash', 'PYTHONIOENCODING': 'UTF-8', 'SECURITYSESSIONID': '186a8', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'USER': 'suxianglun', 'TMPDIR': '/var/folders/bb/__kwbrgd34z42k0j5flvl7gm0000gn/T/', 'ANDROID_HOME': '/Users/suxianglun/Library/Android/sdk', 'COMMAND_MODE': 'unix2003', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.bShDhPU8aK/Listeners', 'NDK_HOME': '/Users/suxianglun/Library/Android/sdk/ndk-bundle', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', 'VERSIONER_PYTHON_VERSION': '2.7', '__CF_USER_TEXT_ENCODING': '0x1F5:0x19:0x34', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.Lmld2HUMqr/Render', 'LOGNAME': 'suxianglun', 'LC_CTYPE': 'zh_CN.UTF-8', 'XPC_SERVICE_NAME': 'com.apple.xpc.launchd.oneshot.0x10000005.pycharm', 'PWD': '/Users/suxianglun/PycharmProjects/pythontest', 'PYCHARM_HOSTED': '1', 'HOME': '/Users/suxianglun', '__PYVENV_LAUNCHER__': '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/bin/python3.6'})

十、os.path

path = 'abc/allen/nv'
path1 = 'abc/'
path2 = 'edf/hij'

一、os.path.abspath(path)  #返回path規範化的絕對路徑  
/Users/suxianglun/PycharmProjects/pythontest/abc/allen/nv

二、os.path.split(path)  #將path分割成目錄和文件名二元組返回
 ('abc/allen', 'nv')

三、os.path.dirname(path) abc/allen  #返回path的目錄。其實就是
os.path.split(path)返回列表中第一個元素 abc/allen


四、os.path.basename(path) nv  #返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素nv

以上三個之間的關係

os.path.split(path)=[os.path.dirname(path), os.path.basename(path)]


五、os.path.exists(path) True  #若是path存在,返回True;若是path不存在,返回False  

六、os.path.isabs(path)  False   #若是path是絕對路徑,返回True

七、os.path.isfile(path) False  #若是path是一個存在的文件,返回True。不然返回False

八、os.path.isdir(path) True #若是path是一個存在的目錄,則返回True。不然返回False

九、os.path.join(path1, path2)  abc/edf/hij #將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略

十、os.path.getatime(path) 1526625257.0 #返回path所指向的文件或者目錄的最後存取時間

十一、os.path.getmtime(path) 1526625250.0 #返回path所指向的文件或者目錄的最後修改時間

sys模塊 用於提供對解釋器相關的操做

一、sys.argv 獲取當前正在執行的命令行參數的參數列表(list)

print(sys.argv)  
['/Users/suxianglun/PycharmProjects/pythontest/sys模塊.py']
 
print(sys.argv[0])  
/Users/suxianglun/PycharmProjects/pythontest/sys模塊.py'

二、sys.platform系統名 Mac: darwin Windows:win32 Linux:linux

print(sys.platform) # darwin

三、sys.path 是一個目錄列表,供Python從中查找第三方擴展模塊。

print(sys.path) 

'''['/Users/suxianglun/PycharmProjects/pythontest',
'/Users/suxianglun/PycharmProjects/pythontest',
'/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
 '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6',
 '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload',
 '/usr/local/lib/python3.6/site-packages']
'''

四、sys.builtin_module_names 返回一個列表,包含內建模塊的名字。

res = sys.builtin_module_names  
print(res)
('_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator',
 '_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc',
 '_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc',
 'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype', 'zipimport')

五、sys.exit(n) 調用sys.exit(n)能夠中途退出程序,當參數非0時,會引起一個SystemExit異常,從而能夠在主程序中捕獲該異常。

try:
    sys.exit(1)
except SystemExit:
    print('SystemExit exit 1')

print('exited')
相關文章
相關標籤/搜索