天天看點

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使用

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,如需轉載請自行聯系原作者

上一篇: Python異常
下一篇: Python類