python初步學習-python模塊之 os


os

os 模塊在運維工作中是很常用的一個模塊。通過os模塊調用系統命令。os模塊可以跨平台使用。

import os的時候,建議使用import os而非from os import *。這樣可以避免os.open()不會覆蓋內置函數open().

os.name()

判斷系統類型

import os
print os.name

# linux和Unix系統會返回`posix`
# windows 系統會返回`nt`

os.system()

執行系統命令的模塊,返回命令執行的狀態碼,開啟一個子shell執行命令

import os

cmd = 'ifconfig'

retval = os.system(cmd)
print retval

# 結果為 0
# 表示命令執行成功,否則為失敗

os.popen()

popen也是去執行一個命令,不過相比system(cmd),os.popen(command [, mode='r' [, bufsize]]),參數更多,而且是開啟一個管道去執行。

  • cmd - 執行的命令
  • mode - 模式權限可以是'r'(默認)或'w'
  • buffering - 0意味着無緩沖;1意味着行緩沖;其它正值表示使用參數大小的緩沖(大概值,以字節為單位)。負的bufsize意味着使用系統的默認值,一般來說,對於tty設備,它是行緩沖;對於其它文件,它是全緩沖。如果沒有改參數,使用系統的默認值。(不明白????
import os
cmd = 'mkdir nwdir'
a = os.popen(cmd)
print a
print type(a)


#返回結果
#<os._wrap_close object at 0x105af0860>
#<class 'os._wrap_close'>

os.listdir(path)

打印指定目錄的文件,返回一個列表

import os
a = os.listdir('/tmp')
print a

os.getcwd()

返回當前絕對路徑,返回類型為str

import os
a = os.getcwd()
print a

os.chdir(path)

改變當前路徑

import os
print os.getcwd()

os.chdir(/tmp/aaa)

print os.getcwd()

os.mkdir()

mkdir(path [, mode=0755])
默認權限是0755
如果目錄已存在,會異常OSError

os.remove(path)

刪除文件,只能刪除文件

os.rmdir(path)

刪除目錄,只能刪除目錄

os.path

該模塊主要是針對路徑的操作。

os.path.abspath(path)

返回絕對路徑,主要有引號

import os
print os.path.abspath('.')

#結果
D:\Python\project

os.path.basename(path)

返回文件名,類似linux 中的basename命令

import os
print os.path.basename('D:\Python\project')

#結果
project

os.path.dirname(path)

返回文件路徑,不包含文件名,類似linux中的dirname命令

import os
print os.path.dirname('D:\Python\project')

#結果
D:\Python

os.path.exists(path)

判斷路徑是否存在,存在返回True,不存在返回False

a = 'D:\Python\project11111'

print os.path.exists(a)

#結果
False

類似這種:

命令 說明
os.path.isfile 判斷是否是文件
os.path.isdir 判斷是否是目錄
os.path.isline 判斷是否是個鏈接文件
os.path.ismount 判斷是否是掛載點
os.path.isabs 判斷是否是絕對路徑

os.path.join(path1,path2)

把 path1、path2文件或目錄合並成一個路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM