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使用
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
a = now_time.strftime('%c')
#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
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'>
#将字元串類型的時間轉換為datetime類型
#将datetime類型的日期轉換為字元串
time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')
print(type(time1_str))
print(time1_str)
<class 'str'>
import time
#使用time方法擷取目前時間戳
time1 = time.time()
#使用fromtimestamp方法将時間戳轉換為日期
time1_str = datetime.fromtimestamp(time1)
1510242773.3468468
2017-11-09 23:52:53.346847
OS子產品
import os
#檢視目前作業系統類型,windows為nt,linux為posix
print(os.name)
#調用系統指令ipconfig
os.system(‘ipconfig’)
#使用popen方法方法檢視執行後的傳回結果,傳回類型為file,需要使用read讀取file類型的資料
content=os.popen('ipconfig').read()
print(content)
例子
#獲得目錄的目前系統程式工作路勁
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))
輸出同shell下ls /home/admin指令,傳回類型為str
#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
#标準輸入
print "Please enter your name: "
name = sys.stdin.readline()
print name
#标準輸出
sys.stdout.write("123456\n")
sys.stdout.flush()
print sys.stdin.readlines()
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'
本文轉自 粗糧面包 51CTO部落格,原文連結:http://blog.51cto.com/culiangmianbao/1980481,如需轉載請自行聯系原作者