python常用模塊-os模塊、sys模塊

os模塊簡介

os模塊提供了多數操作系統的功能接口函數。當os模塊被導入後,它會自適應於不同的操作系統平臺,根據不同的平臺進行相應的操作,在python編程時,經常和文件、目錄打交道,所以離不了os模塊

os模塊常用方法

目錄文件操作

  • os.getcwd()
    獲取當前執行腳本的工作路徑
  • os.chdir("dirname")
    獲取當前執行腳本的工作路徑
  • os.pardir
    獲取當前執行腳本目錄的父級的目錄的字符串,一般表示爲".."。
  • os.makedirs('dir1/dir2')
    在當前執行的腳本的目錄下新建多層目錄,若目錄已經存在則會報錯
  • os.removedirs('dirname')
    可刪除多層目錄,但前提是目錄必須爲空若不爲空,則會停止在不爲空的那一層目錄
  • os.mkdir('dirname')
    在當前執行的腳本的目錄下新建單層目錄,若目錄已經存在則會報錯
  • os.rmdir('dirname')
    刪除單層目錄,若目錄不爲空則無法刪除
  • os.listdir(path)
    列出指定的目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式返回,若不指定目錄,則爲當前執行文件的目錄
  • os.remove(path)
    刪除一個文件
  • os.rename("oldname","newname")
    重命名一個文件或者目錄
  • os.stat('path')
    獲取文件或者目錄的信息,返回的是一個類對象

系統操作相關

  • os.sep
    輸出操作系統特定的路徑分隔符,win爲‘\’,linux爲‘/’
  • os.linesep
    輸出操作系統的行終止符,win爲‘\t\n’,linux爲‘\n’
  • os.pathsep
    輸出操作系統分割文件路徑的字符串,win爲; linux爲:
  • os.name
    輸出字符串表示當前使用平臺。win爲nt,linux爲posix
  • os.environ
    獲取系統環境變量
  • os.system("command")
    執行系統命令,直接輸出,無法賦值給變量

文件路徑操作方法

  • os.path.abspath(path)
    返回一個文件的標準化絕對路徑
  • os.path.split(path)
    將一個路徑分割爲目錄和文件名兩部分,並以元祖形式返回
  • os.path.dirname(path)
    返回path的目錄,即os.path.split(path)結果的第一部分
  • os.path.basename(path)
    返回path的文件名,如果以‘/’或者‘'結尾,那麼會返回空值,即os.path.split(path)結果的第二部分
  • os.path.exists(path)
    如果path存在,則返回True,否則返回False
  • os.path.isabs(path)
    判斷path是否爲絕對路徑,是則返回True,否則返回False
  • os.path.isfile(path)
    判斷path是否一個存在的文件,是則返回True,否則返回False
  • os.path.isdir(path)
    判斷path是否是一個存在的目錄,是則返回True,否則返回False
  • os.path.join(path1,[path2[,....])
    將多個路徑組合後返回,第一個絕對路徑之前的參數會被忽略
  • os.path.getatime(path)
    返回path所指向的文件或者目錄的最後讀取時間
  • os.path.getmtime(path)
    返回path所指向的文件或者目錄的最後修改時間

sys模塊概述

這個模塊可供訪問由解釋器使用或維護的變量和與解釋器進行交互的函數,sys是和解釋器系統的交互,而os是和操作系統低層進行交互,這是兩者區別

sys模塊常用方法

  • sys.argv:
    實現從程序外部向程序傳遞參數,並將參數保存在列表中以供調用
#!/usr/bin/env python
import sys
print sys.argv[0]
print sys.argv[1]
################
python sys.py argv1
#sys.py
#argv1
  • sys.exit([arg])
    程序中間的退出,arg指定退出碼,0代碼爲正常退出
  • sys.getdefaultencoding()
    獲取系統當前編碼
  • sys.setdefaultencoding(arg)
    設置當前系統的編碼
  • sys.getfilesystemencoding()
    獲取文件系統當前編碼
  • sys.path
    獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到,類似於linux中的PATH環境變量
  • sys.stdin,sys.stdout,sys.stderr
    stdin , stdout , 以及stderr 變量包含與標準I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設備( device ), 或者以非標準的方式處理它們
# 簡單的進度條函數
import sys
import time

for i in range(10):
    sys.stdout.write('#') #向屏幕輸出#字符號
    time.sleep(0.1)
    sys.stdout.flush() #由於輸出字符會先寫在緩存中,因此不加此參數,
    #號會在循環完成後一起輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章