python中sys,os,time模組的使用(包括時間格式的各種轉換)

君惜發表於2019-02-16

sys模組

sys.argv: 實現從程式外部向程式傳遞引數。

位置引數argv[0]代表py檔案本身,執行方法 python xx.py 引數1,引數2 。。

self = sys.argv[0]
name = sys.argv[1]
age = sys.argv[2]
print self, name, age

sys.getdefaultencoding(): 獲取系統當前編碼,一般預設為ascii。

print sys.getdefaultencoding()

sys.setdefaultencoding(): 設定系統預設編碼,

執行dir(sys)時不會看到這個方法,在直譯器中執行不通過,
可以先執行reload(sys),在執行 setdefaultencoding(`utf8`),
此時將系統預設編碼設定為utf8。(python2.7中可能需要這麼做)

reload(sys)
sys.setdefaultencoding(`utf8`)

sys.path: 獲取指定模組搜尋路徑的字串集合

sys.path

sys.platform: 獲取當前系統平臺。

print sys.platform

sys.exit()

功能:執行到主程式末尾,直譯器自動退出,但是如果需要中途退出程式,
可以呼叫sys.exit函式,帶有一個可選的整數引數返回給呼叫它的程式,
表示你可以在主程式中捕獲對sys.exit的呼叫。(0是正常退出,其他為異常)“`

for i in range(1, 10):
    print `第%s次:` % i, i
    if i == 5:
        print `第五次退出`
        sys.exit(0)

os模組

1. os.name()——判斷現在正在實用的平臺,Windows 返回 ‘nt`; Linux 返回’posix`

print os.name()

2. os.getcwd()——得到當前工作的目錄。

print os.getcwd()

3. os.listdir()——指定所有目錄下所有的檔案和目錄名。

print os.listdir(`.`)

4. os.remove()——刪除指定檔案

os.remove(`aaa.txt`)

5. os.rmdir()——刪除指定目錄

os.rmdir(`C://Users/xiaoxinsoso/Desktop/aaa`)

6. os.mkdir()——建立目錄,注意:這樣只能建立一層,要想遞迴建立可用:os.makedirs()

os.makedirs(`aaa/aaa`)

7. os.path.isfile()——判斷指定物件是否為檔案。是返回True, 否則False

print os.path.isfile(`ccc.txt`)
print os.path.isfile(`aaa`)

8. os.path.isdir()——判斷指定物件是否為目錄。是True, 否則False。例:

print os.path.isdir(`aaa`)
print os.path.isdir(`ccc.txt`)

9. os.path.exists()——檢驗指定的物件是否存在。是True, 否則False.例:

print os.path.exists(`bbb`)
print os.path.exists(`aaa`)
print os.path.exists(`ccc.txt`)

10. os.path.split()——返回路徑的目錄和檔名。例:

print os.path.split(`C://Users/xiaoxinsoso/Desktop/aaa/ccc.txt`)

11. os.getcwd()——獲得當前工作的目錄

print os.getcwd()

12. os.system()——執行shell命令。

注意:此處執行shell命令時,如果要呼叫python之前的變數,可以用如下方式:

var = 123
os.environ[`var`] = str(var) # 注意此處[]內得是 “字串”
os.system(`echo $var`)

os.system(`dir`)

13. os.chdir()——改變目錄到指定目錄

14. os.path.getsize()——獲得檔案的大小,如果為目錄,返回0

print os.path.getsize(`ccc.txt`)

15. os.path.abspath()——獲得絕對路徑。例:

print os.path.abspath(`.`)

16. os.path.join(path, name)——連線目錄和檔名。例:

print os.path.join(`c://user/xiaoxinsoso/`, `wenjian.txt`)

17. os.path.basename(path)——返回檔名

print os.path.basename(`ccc.txt`)

18. os.path.dirname(path)——返回檔案路徑

print os.path.dirname(`C://Users/xiaoxinsoso/Desktop/aaa/ccc.txt`)

19. 獲得程式所在的實際目錄

if __name__ == "__main__":
    print os.path.realpath(sys.argv[0])
    print os.path.split(os.path.realpath(sys.argv[0]))
    print os.path.split(os.path.realpath(sys.argv[0]))[0]

time模組

ticks = time.time()
print "當前時間戳為:", ticks

獲取當前時間

localtime = time.localtime(time.time())
print "本地時間為 :", localtime

獲取格式化的時間

localtime = time.asctime(time.localtime(time.time()))
print "本地時間為 :", localtime

格式化日期

格式化成2017-01-22 16:36:27形式

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

格式化成Sun Jan 22 16:36:27 2017形式

print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

將格式字串轉換為時間戳

a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y"))

獲取某月日曆

cal = calendar.month(2017, 1)
print "以下輸出2016年1月份的日曆:"
print cal

datetime模組

datetime型別時間

now = datetime.datetime.now()
print now
now = date time.datetime.now()
yes_time = now + date time.timedelta(days=-1)    # 前一天的時間

datetime轉string

strdatetime = now.strftime("%Y-%m-%d %H:%M:%S")     # 以字串形式顯示時間,顯示全部
strdatetime1= now.strftime("%Y-%m-%d")     # 以字串形式顯示時間,只顯示日期
print strdatetime
print strdatetime1

string轉datetime

datetime1 = datetime.datetime.strptime(strdatetime1, "%Y-%m-%d")
print datetime1

datetime轉時間戳

time_time = time.mktime(datetime1.timetuple())
print time_time

時間戳轉string

time1 = time.strftime(`%Y-%m-%d`,time.localtime(time_time))
print time1

date轉datetime

date1 = datetime.date(2012, 11, 19)
date = datetime.date.today()
print date
print datetime.datetime.strptime(str(date),`%Y-%m-%d`) #將date轉換為str,在由str轉換為datetime
print datetime.datetime.strptime(str(date1),`%Y-%m-%d`) #將date轉換為str,在由str轉換為datetime

相關文章