1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        你真的會(huì)使用 Python 命令嗎?

        共 1599字,需瀏覽 4分鐘

         ·

        2020-08-13 22:53


        我想你最常用到的 Python 命令就是運(yùn)行 Python 腳本文件,像這樣:

        python?xxx.py

        不過你知道為什么這樣就可以直接執(zhí)行 Python 代碼么?

        還有, Python 還有一些常用的命令可玩,你試過嗎?




        接下來,就是學(xué)習(xí) Python 的正確姿勢:





        我們來說說那些我們常用到的 Python 命令。


        python?xxx.py

        當(dāng)你通過 Python 執(zhí)行腳本文件的時(shí)候,sys.argv[0] 會(huì)存儲(chǔ)這個(gè) py 文件名稱:







        而當(dāng)你在 python xxx.py 后面再添加一些參數(shù)的時(shí)候,sys.argv 也同樣可以接收到相關(guān)的參數(shù):







        而且,它會(huì)把你的執(zhí)行的 py 文件路徑添加到 sys.path 中來,將它作為主模塊來運(yùn)行:






        除了直接使用 python 執(zhí)行腳本文件之外,你也可以使用 Python 執(zhí)行整個(gè) Python 項(xiàng)目目錄或者壓縮文件,不過在這里面你需要定義一個(gè)?__main__.py ,要不然解釋器無法識(shí)別運(yùn)行:




        而當(dāng)你的目錄中有定義 __main__.py 的時(shí)候,它就可以將 main 添加到 sys.path 中來,作為 main 模塊執(zhí)行:






        除此之外,你還可以直接使用腳本的文件執(zhí)行 Python 代碼,在你的腳本文件的第一行定義 Python 環(huán)境:






        接著添加腳本文件的執(zhí)行權(quán)限,然后就可以直接用腳本文件名稱直接運(yùn)行 Python 了:







        python?-c


        使用 python -c 可以讓你在命令行中寫 Python 代碼執(zhí)行,可以使用 ;?進(jìn)行代碼分行:






        一種更好的方式是使用空行對代碼進(jìn)行分行:







        當(dāng)你在 python 解釋器中使用 -c 命令的時(shí)候,它會(huì)將 -c 添加到 sys.argv[0] 中,將當(dāng)前的路徑添加到 sys.path 中:








        ?python?-m

        使用 -m 模塊可以以腳本的方式執(zhí)行 Python 的模塊或者包,因?yàn)閳?zhí)行的是模塊,所以就不用像執(zhí)行腳本文件那樣把 .py 擴(kuò)展名稱寫出來。








        可以看到,模塊的完全路徑會(huì)添加到 sys.argv[0],將當(dāng)前的路徑添加到 sys.path 中,將模塊名作為 main 執(zhí)行。

        你能體會(huì)到 python xxx.py 和 python -m xxx 之間的區(qū)別么?

        當(dāng)然,你也可以使用 -m 來執(zhí)行包中的模塊:





        通過 -m 的形式,解釋器會(huì)通過搜索路徑找到相應(yīng)的模塊執(zhí)行,這樣你就不需要想執(zhí)行 .py 那樣寫入文件的絕對路徑啦。

        使用 python -m 的一個(gè)常用場景是在不同的版本環(huán)境中執(zhí)行相應(yīng)的模塊,比如使用 pip 安裝模塊的時(shí)候:






        ?python?-i


        當(dāng)你使用 -c 命令的時(shí)候,還想執(zhí)行完相關(guān)代碼后進(jìn)入 Python 交互模式就可以使用 -i :






        還有其它的命令,你可以通過 python -h 找到相關(guān)的解釋:





        可能有時(shí)候你也想要提供一些命令給別人使用,Python 內(nèi)置了一個(gè) argparse 的庫,你可以使用它來創(chuàng)建你要提供的命令,比如這樣:






        執(zhí)行的時(shí)候就可以使用相關(guān)的命令了:






        除此之外,還有一個(gè)叫做 click 的第三方庫,也是用來創(chuàng)建命令的,不同的是它可以用裝飾器的方式實(shí)現(xiàn),你可以直接使用 @click.option 來定義命令選項(xiàng),用起來相對簡單,這是一個(gè)官方的例子:






        使用起來是這樣的:






        當(dāng)然,它還提供了多種創(chuàng)建命令的方式,你可以在以下鏈接中找到:

        https://click.palletsprojects.com/en/6.x/


        ok,以上就是小帥b今天給你帶來的分享,希望對你有幫助,那么我們下回見,peace!



        掃一掃
        學(xué)習(xí) Python 沒煩惱





        請拼命點(diǎn)贊
        瀏覽 30
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            好逼天天| 美女被操哭视频 | 淫色一非一区二区朝鲜 | 快穿老男人猛烈h | 女人叉开腿让男人桶 | 青娱乐91视频免费在线 | 公主被太监h各种姿势调教 | 乱轮小说视频 | 神马午夜三级 | 永久免费看黄网站 |