Python模塊

Python包的導入

本地導入文件使用import filename;

導入的是一個包,該包下面必須是有__init__.py文件纔可以導入,否則報錯,只有有了__init__.py文件,python解析器纔會把這個目錄當成是的包

import語法

import 包名

form  包名 import 模塊名

improt 包名.模塊名 as 函數名

例子:

#直接導入datetime模塊

import datetime

print(datetime.datetime.now())

#僅導入datetime模塊中的datetime方法

from datetime import datetime

print(datetime.now())

datetime使用

例子:

from datetime import datetime

now_time = datetime.now()

#使用strftime方法將time類型轉換爲str類型

a = now_time.strftime('%Y-%m-%d')

print(now_time)

print(a)

print(type(now_time))

輸出:

2017-04-25 14:23:37.339000

2017-04-25

<type 'datetime.datetime'>

strftime函數常用參數

%Y 帶世紀部分的十制年份

%m 十進制表示的月份

%d 十進制表示的每月的第幾天

%H 24小時制的小時

%M 十時製表示的分鐘數

%S 十進制的秒數

%c  標準時間,如:04/25/17 14:35:14

例子:

from datetime import datetime, timedelta

now_time = datetime.now()

a = now_time.strftime('%c')

print(now_time)

print(a)

#timedelta是計算日期差的,負數是前一天,正數是後一天

b1 = now_time + timedelta(days=-1)

b2 = now_time + timedelta(days=+1)

print(b1)

print(b2)

輸出:

2017-11-09 23:43:30.690664

Thu Nov  9 23:43:30 2017

2017-11-08 23:43:30.690664

2017-11-10 23:43:30.690664

例子:

from datetime import datetime, timedelta

str1 = '2017-11-09 23:59:58'

#strptime函數可以將str類型的日期轉換爲datetime類型

time1 = datetime.strptime(str1, '%Y-%m-%d %H:%M:%S')

print(time1)

print(type(time1))

輸出:

2017-11-09 23:59:58

<class 'datetime.datetime'>

例子:

from datetime import datetime, timedelta

str1 = '2017-11-09 23:59:58'

#將字符串類型的時間轉換爲datetime類型

time1 = datetime.strptime(str1, '%Y-%m-%d %H:%M:%S')

print(time1)

print(type(time1))

#將datetime類型的日期轉換爲字符串

time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')

print(type(time1_str))

print(time1_str)

輸出:

2017-11-09 23:59:58

<class 'datetime.datetime'>

<class 'str'>

2017-11-09 23:59:58

例子:

from datetime import datetime, timedelta

import time

#使用time方法獲取當前時間戳

time1 = time.time()

print(time1)

#使用fromtimestamp方法將時間戳轉換爲日期

time1_str = datetime.fromtimestamp(time1)

print(time1_str)

print(type(time1_str))

輸出:

1510242773.3468468

2017-11-09 23:52:53.346847

<class 'datetime.datetime'>




OS模塊

例子:

import os

#查看當前操作系統類型,windows爲nt,linux爲posix

print(os.name)


例子:

import os

#調用系統命令ipconfig

os.system(‘ipconfig’)

#使用popen方法方法查看執行後的返回結果,返回類型爲file,需要使用read讀取file類型的數據

content=os.popen('ipconfig').read()

print(content)


例子

import os

#獲得目錄的當前系統程序工作路勁

print(os.getcwd())

#切換到目標目錄

os.chdir(r'd:\123\456')

#列出當前目錄的文件

print(os.listdir(os.getcwd()))

#列出C:\Python27目錄下的文件

print(os.listdir('C:\Python27'))

#在當前目錄下創建abc目錄

os.mkdir('abc')

#刪除當前目錄下的1.txt文件,如果文件不存在會報錯

os.remove('1.txt')

#打印操作系統的分隔符,linux系統的分隔符\n,windows系統的分隔符\r\n,mac系統的分隔符\r

print(os.linesep)

#拼接當前路徑及後面文件,但是不創建文件

print(os.path.join(os.getcwd(), 'abc.txt'))

#判斷路徑是否爲鏈接

print(os.path.islink(os.getcwd()))

path1 = os.path.join(os.getcwd(), 'abc.txt')

#將路徑與文件名分開,類型爲元組

print(os.path.split(path1))

#將盤符與後面內容分開

Print(os.path.splitdrive(path1))

#將後綴名與前面內容分開

Print(os.path.splitext(path1))

#當前目錄下存在aaa目錄,不創建,當前不存在aaa目錄,創建aaa目錄

if not os.path.exists(r'E:\123\aaa'):

    os.mkdir(r'E:\123\aaa')

#獲得E:\123\456.py文件的目錄

print(os.path.dirname(r'E:\123\456.py'))




commands模塊

Python中的commands模塊專門用於調用Linux shell命令,並返回狀態和結果

例子:

import commands

ls1 = 'ls /home/admin'

#getoutput執行shell命令返回str結果

a = commands.getoutput(ls1)

print(type(a))

print(a)

輸出:

輸出同shell下ls /home/admin命令,返回類型爲str


例子:

import commands

ls1 = 'ls /home/admin'

#getstatusoutput方法返回元祖類型

c = commands.getstatusoutput(ls1)

print(type(c))

#將元祖中的兩個值分別賦給status, output。shell成功,status返回0,不成功返回1。output類型爲str

status, output = commands.getstatusoutput(ls1)

print(status)

print(output)

print(type(output))



sys模塊

獲取程序參數

例子:

#獲取程序參數

import sys

print('argv[0] = {0}  argv [1] = {1}'.format(sys.argv[0], sys.argv[1]))

輸出:

第一個參數爲本省參數,第二個闡述爲執行時輸入的參數


標準輸入、標準輸出和錯誤輸出

sys.stdin、sys.stdout和sys.stderr

例子:

#標準輸入

import sys

print "Please enter your name: "

name = sys.stdin.readline()

print name


例子:

#標準輸出

import sys

sys.stdout.write("123456\n")

sys.stdout.flush()

#標準輸入

import sys

print sys.stdin.readlines()


例子:

#標準輸出

import sys

import time

for i in range(5):

    print i

    #刷新緩存後直接輸出,不會等到循環結束後輸出,對實時輸出有要求時可使用

    sys.stdout.flush()

    time.sleep(1)


捕獲結束時退出是否正常

def exitfunc():

    print 'hello world'

sys.exitfunc = exitfunc

print "aaaaaaaa"

# 退出自動調用exitfunc()後,程序退出

sys.exit(1)

#程序退出,不會執行

print 'bbbbbb'


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章