![](/img/trans.png)
[英]How do I run a python script on pypy3 without using the command line on windows 10?
[英]How do I run a function in a Python module using only the Windows command line?
澄清一下,我正在編寫的 Python 模塊是一個 self-written.py 文件(名為converter ),而不是 Python 庫的標准文件。
無論如何,我想以某種方式重載我的 function 以便輸入
converter file_name
將文件名發送到
def converter(file_name):
# do something
我一直在通過 Google 和 StackOverflow 進行廣泛搜索,但找不到任何不需要使用特殊字符(如 $)或命令行選項(如 -c)的內容。 有誰知道如何做到這一點?
你可以使用PyInstaller 之類的東西從你的 py 文件中創建一個 exe。
要使用 python 中的參數:
import sys
if __name__ == "__main__":
converter(sys.argv[1])
您可以輸入 windows shell:
python converter.py file_name.txt
將 arguments 提供給 python 中的sys.argv
列表。 所以要訪問它們:
import sys
sys.argv[0] # this will be converter.py
sys.argv[1] # this will be file_name.txt
在要運行的文件的底部,添加:
if __name__ == "__main__":
converter(sys.argv[1])
有第二個論點:
python converter.py file_name1.txt file_name2.txt
這將是結果:
import sys
sys.argv[0] # this will be converter.py
sys.argv[1] # this will be file_name1.txt
sys.argv[2] # this will be file_name2.txt
如果您正在執行許多復雜的命令行選項,我建議您使用內置的argparse
(適用於 2.7/3.2+)或argparse
on pypi (適用於 2.3+)。
我能想到的唯一方法是創建一個同名的批處理文件,並在其中使用提供的參數調用您的 python 腳本。
使用批處理文件,您不必指定擴展名 (.bat),因此它可以讓您更接近您想要的位置。
此外,無需任何編譯.py
即可。 exe
,您可以使您的腳本“可執行”,這樣如果您發出類似myscript param param
的命令行,系統將搜索myscript.py
並為您運行它,就好像它是一個.exe
或.bat
文件一樣。
為了實現這一點,請配置您計划運行腳本的機器:
.py
到 python 解釋器,也就是說,如果您在資源管理器中雙擊您的腳本 - 它會被執行)。 通常這由 Python 安裝程序配置。COMSPEC
環境變量(查看My Computer
屬性)以包含.PY
擴展名以及.EXE
、 .COM
等。Start
菜單啟動一個新的cmd.exe
以使用變量的新值。 任何程序的舊實例只會看到舊值。 如果您在同一台機器上運行許多腳本,此設置可能很方便,但如果您將腳本分散到多台機器上,則不那么方便。 在后一種情況下,您最好使用py2exe
轉換器將您的應用程序捆綁成一個自給自足的 package(甚至不需要安裝 python)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.