Python 細(xì)節(jié)梳理

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

  1. 升級(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

  2. Python 學(xué)習(xí)網(wǎng)站

    http://www.runoob.com/python/python-tutorial.html
    非常推薦,里面還有js,html5等教程,排版我也很喜歡,簡(jiǎn)潔大方,入門(mén)學(xué)習(xí)必備

  3. 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-*-
    
  4. 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)的列表,增量為 2

    list(xrange(1,5)) :生成一個(gè)列表
    list(xrange(0,6,2)) :生成遞增為 2 的列表

    更詳細(xì)可以參考這篇文章:
    http://blog.csdn.net/karldoenitz/article/details/23476801

  5. 腳本的入口函數(shù)

    if __name__ == "__main__":  
      main()
    

    當(dāng)調(diào)用 python xxx.py 時(shí)候,會(huì)首先執(zhí)行這一段代碼,執(zhí)行main( )方法, main( )是自己寫(xiě)的方法

  6. 異常處理

    固定語(yǔ)法:

    try:
      XXX
    except IOError(...):
      XXX
    

    感覺(jué)和 java 很像,就是 catch 變成 except 了,這個(gè) Error 也是有繼承關(guān)系的

模塊

文件處理

  1. 判斷文件是否存在

    import os
    
    os.path.exists(file_path)
    
  2. 連接路徑和文件

    import os
    
    os.path.join(path, file_name)
    
  3. 拷貝文件,使用 shutil

    import shutil
    
    shutil.copy(origin_file, to_file)
    
  4. 打開(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 列表,里面包含每一行的字符串

字符串

  1. 判斷字符串是否包含某些字符

    str = 'hello'
    result = str.find('h')
    
  2. 替換字符

    str = 'hello'
    result = str.replace('h','H')
    
  3. 截取

    str = 'key=value'
    array_result = str.split('=')
    
    print(array_result[0]) // key
    print(array_result[1]) // value
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 注:本文的原文地址為 http://segmentfault.com/a/1190000000618286 許多 ...
    Michael_林閱讀 70,257評(píng)論 3 89
  • 接上一篇 PS: 在本篇中 你會(huì)了解到: 1.Python3.5 在Linux平臺(tái)上的安裝步驟 2.Python...
    斐波那契的數(shù)字閱讀 647評(píng)論 0 1
  • http://python.jobbole.com/85231/ 關(guān)于專(zhuān)業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,787評(píng)論 1 118
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 明天就要去HS,雖然不愿意想,只希望一切的一切都好好的! 此刻的心情無(wú)法用語(yǔ)言來(lái)表達(dá)!我只想有雙隱...
    希望幸福美好閱讀 177評(píng)論 0 0

友情鏈接更多精彩內(nèi)容