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'