python 筆記
2016年5月15日 星期日
CentOs7 install pip and import requests
# yum -y install epel-release
# yum -y install python-pip
# pip install requests
# pip install beautifulsoup4
2016年4月28日 星期四
Python OS 模組
下面列出常用的Python指令及其說明,對於初學Python的人而言應當相當有用:
sys模組:
- argv: 命令列參數。
- exit([arg]): 結束程式。
- exitfunc: 若有指定此函式,程式結束前會先呼叫此函式。
getopt模組:
- getopt(args, options[, long_options]): 解譯命令列參數選項的工具。
os模組:
- chdir(path): 變更目前工作目錄。
- getcwd(): 取得目前工作目錄。
- getenv(varname[, defaultValue]): 取得環境變數。
- putenv(varname, value): 設定或新增環境變數。
- popen(command[, mode[, bufsize] ]): 執行某個命令,並將結果以pipe的方式傳會此程式。
- tmpfile(): 傳回一個新的暫存檔案物件,此物件將以"w+b"的mode開啟。
- listdir(path): 傳回指定路徑的內容。
- remove(path): 刪除指定的檔案。
- removedirs(path): 以遞迴的方式刪除指定的路徑。
- rename(src, dst): 變更路徑或檔案名稱。
- renames(old, new): 遞迴的變更路徑或檔案名稱。
- rmdir(path): 非遞迴的方式移除目錄。
- stat(path): 傳回指定檔案或路徑的stat結構。
- walk(top[, topdown=True [, onerror=None] ]): 產生整個目錄的樹狀結構。
- abort(): 對目前的行程產生SIGABRT的訊號。
- system(command): 在sub-shell中執行命令。
- path.abspath(path): 傳回指定目錄的絕對路徑。
- path.join(a, *p): 將兩個或多個路徑名稱結合成一個路徑。並在適當的地方加上目錄分隔字元。
- path.exists(path): 檢查檔案或路徑是否存在。
- path.basename(path): 傳回路徑的最後一個部分。
- path.dirname(path): 傳回檔案名稱中屬於路徑的部分。
- path.split(path): 將路徑分割成為各部分。
- path.splitdrive(path): 分割出檔案名稱中,關於磁碟機的部分。
- path.splitext(path): 分割出檔案名稱中,關於副檔名的部分。
- path.splitunc(path): 分割出檔案名稱中屬於UNC的部分。
- path.getsize(path): 取得指定檔案的大小。
- path.isfile(path): 檢查指定的路徑是否指向一個檔案。
- path.isdir(path): 檢查指定的路徑是否為一個目錄。
- path.isabs(path): 檢查指定的路徑是否為一個絕對路徑。
shutil模組:
- copy(src, dst): 拷貝src所指定的檔案到dst所指定的檔案中。
- copytree(src, dst[, symlinks]): 遞迴的方式將整個src所指定的目錄樹拷貝到dst所指定的地方。
- rmtree(path[, ignore_errors[, onerror] ]): 將整個目錄樹下的所有檔案目錄刪除。
- move(src, dst): 將整個檔案或目錄搬移到dst所指定的地方。
glob模組:
- glob(pathname): 依照類似於shell在使用的檔案符合檢驗的格式來找出某個目錄下的檔案。
re模組:
- re.compile(pattern[, flags]): 將指定的pattern字串編譯並產生RegExp物件。
- regexp.match(string[, pos[, endpos] ]): 若字串與pattern相符,傳回Match物件,否則傳回None。
- regexp.search(string[, pos[, endpos] ]): 搜尋字串便找出符合pattern的字串。
- regexp.split(string[, maxsplit]): 以pattern作為分割字串,將指定的字串分割成為數個部分。
- regexp.sub(repl, string[, count]): 將相符合的字串取得成為另一個字串。
- matchObj.group([group1, ...]): 傳回Match物件中的指定群組字串。
- matchObj.groups(): 傳回所有的Match物件中的群組。
- matchObj.groupdict(): 傳回所有的Match物件中有取名稱的群組。
2016年4月26日 星期二
Python時間加減
為了要抓高公局的資料,時間格式一直弄不出來,最後感謝強者我同事協助^_^
from datetime import timedelta
import datetime
Start = datetime.datetime(2014,1,1,1,1)
End = datetime.datetime(2014,1,2,0,0)
IntervalTime_minutes = 5
print datetime.timedelta(minutes = IntervalTime_minutes).strftime("%H%M%S")
TimeCount = Start
while TimeCount < End:
TimeCount = TimeCount + datetime.timedelta(minutes = IntervalTime_minutes)
print TimeCount.strftime("%Y%m%d_%H%M%S")
參考網頁:( google > Python時間加減 )
- 設定 someday = datetime.date(2013,10,28)
- datetime.timedelta(days = 1) 用於計算 datetime 時間增減(本例:以1天為單位)
- 可利用 strftime("%Y%m%d) datetime 控制輸出格式
vi test.py
import time
import datetime
someday = datetime.date(2014,9,20)
while (someday <= datetime.date.today()) :
# print out with date format : YYYYMMDD, example : 20140920
print str(someday.strftime("%Y%m%d"))
someday += datetime.timedelta(days = 1)
print "================="
someday = datetime.date.today()
while (someday >= datetime.date(2014,9,15)) :
# print out with date format : YYYYMMDD, example : 2014-09-20
print str(someday.strftime("%Y-%m-%d"))
# minus, timedelta(days = 1)
someday -= datetime.timedelta(days = 1)
print "================="
someday = datetime.date.today()
while (someday >= datetime.date(2014,9,15)) :
# print out with date format : YYYYMMDD, example : 2014/09/20
print str(someday.strftime("%Y/%m/%d"))
# add, timedelta(days = -1)
someday += datetime.timedelta(days = -1)
執行結果:
$ python test.py 20140920 20140921 20140922 ================= 2014-09-22 2014-09-21 2014-09-20 2014-09-19 2014-09-18 2014-09-17 2014-09-16 2014-09-15 ================= 2014/09/22 2014/09/21 2014/09/20 2014/09/19 2014/09/18 2014/09/17 2014/09/16 2014/09/15
延伸閱讀:datetime - Basic date and time types (python.org)
2016年4月25日 星期一
Python 處理時間
因為經常為 Python 處理時間的問題煩惱,所以打算留篇記錄以便之後查閱。
取得今天日期
import datetime today = datetime.date.today() # today 是一個 datetime.date object
取得現在日期及時間
import datetime current = datetime.datetime.now() # current 是一個 datetime.datetime object
建立日期
import datetime some_day = datetime.datetime(2008, 12, 25)
建立日期及時間
import datetime some_day = datetime.datetime(2008, 12, 25, 12, 0, 0)
格式化現在時間
from time import strftime now = strftime('%Y-%m-%d %H:%M:%S') # now 是一個 str, '2008-12-29 16:12:34'
格式化 datetime.datetime object
import datetime some_day = datetime.datetime(2008, 12, 25) print some_day.strftime('%Y-%m-%d') # 得到 '2008-12-25'
datetime.datetime
可以相減(算差距),也可以直接比較換成 tuple
import datetime now_tuple = datetime.datetime.now().timetuple() # now_tuple 會得到一個 tuple
取得 timestamp
import time ts = time.time() # ts 是一個 timestamp, type 為 float
從 timestamp 換回 datetime object
import time import datetime ts = time.time() dt = datetime.datetime.fromtimestamp(ts)
從 time tuple 換成 timestamp
from time import mktime ts = mktime(now_tuple) # ts 是 timestamp
Reference : http://pythonly.blogspot.tw/2008/12/python.html
訂閱:
文章 (Atom)