Python細(xì)節(jié)梳理
前言
因?yàn)樽罱趯?xiě)一個(gè) android 構(gòu)建腳本,需要使用python,就借這個(gè)機(jī)會(huì)學(xué)一下這個(gè)語(yǔ)言吧,這里記錄一下使用過(guò)程中遇到的一些不大不小的問(wèn)題,會(huì)不斷更新,同時(shí)方便以后再遇到相同問(wèn)題方便查找。
Tip
-
升級(jí)Python
我的操作系統(tǒng)是 OSX ,內(nèi)置了2.7的版本,想升級(jí)到3.x的版本,下面是具體的方法。
從官網(wǎng)下載最新的安裝包:
https://www.python.org/雙擊安裝,裝完以后,會(huì)在用戶(hù)目錄下的
.bash_profile里自動(dòng)寫(xiě)入bin目錄方便命令行調(diào)用,這個(gè)時(shí)候要注意,在終端里輸入python還是顯示的2.7版本,要輸入python3才會(huì)顯示你安裝的版本。系統(tǒng)的python安裝目錄:
/System/Library/Frameworks/Python.framework/2.7
自己下載安裝的目錄:
/Library/Frameworks/Python.framework/Versions/3.5 -
Python 學(xué)習(xí)網(wǎng)站
http://www.runoob.com/python/python-tutorial.html
非常推薦,里面還有js,html5等教程,排版我也很喜歡,簡(jiǎn)潔大方,入門(mén)學(xué)習(xí)必備 -
Python錯(cuò)誤: SyntaxError: Non-ASCII
在python文件里寫(xiě)中文會(huì)出現(xiàn)這個(gè)錯(cuò)誤,是由于編碼導(dǎo)致的,在文件的最開(kāi)頭,加入以下代碼轉(zhuǎn)為
utf-8就好#!/usr/bin/python # -*-coding:utf-8-*- -
range 和 xrange 函數(shù)
其實(shí)本質(zhì)的區(qū)別就是
range生成一個(gè)數(shù)組,xrange生成一個(gè)生成器,供list使用
常見(jiàn)用法:
range(5, 10):為一個(gè)[5,10)的列表
range(5, 10, 2): 為一個(gè)[5,10)的列表,增量為 2list(xrange(1,5)):生成一個(gè)列表
list(xrange(0,6,2)):生成遞增為 2 的列表更詳細(xì)可以參考這篇文章:
http://blog.csdn.net/karldoenitz/article/details/23476801 -
腳本的入口函數(shù)
if __name__ == "__main__": main()當(dāng)調(diào)用 python xxx.py 時(shí)候,會(huì)首先執(zhí)行這一段代碼,執(zhí)行main( )方法, main( )是自己寫(xiě)的方法
-
異常處理
固定語(yǔ)法:
try: XXX except IOError(...): XXX感覺(jué)和 java 很像,就是 catch 變成 except 了,這個(gè) Error 也是有繼承關(guān)系的
模塊
文件處理
-
判斷文件是否存在
import os os.path.exists(file_path) -
連接路徑和文件
import os os.path.join(path, file_name) -
拷貝文件,使用 shutil
import shutil shutil.copy(origin_file, to_file) -
打開(kāi)文件,讀取文件內(nèi)容
INFO_FILE_NAME = 'pic_info.txt' with open(INFO_FILE_NAME) as info: info_content = info.readlines()注意,這里
info_content是一個(gè) List 列表,里面包含每一行的字符串
字符串
-
判斷字符串是否包含某些字符
str = 'hello' result = str.find('h') -
替換字符
str = 'hello' result = str.replace('h','H') -
截取
str = 'key=value' array_result = str.split('=') print(array_result[0]) // key print(array_result[1]) // value