簡體   English   中英

對Python腳本所做的更改是否會影響同一文件上正在進行的另一次運行?

[英]Will changes made to a Python script affect another run in progress on the same file?

假設我已經運行了一個Python腳本。 讓我們說它在運行時,我打開源代碼並將變量的值更改為不同的值。 現在,如果我開始運行最新的源代碼,在另一個終端中,前一次運行會發生什么變化?

因為我在運行時所做的這一最新改變會不會受到影響?

問題是我想為特定變量的不同值執行程序的並行運行。 有更好的方法嗎?

Python將您的源代碼編譯為字節碼並運行該字節碼。 一旦讀取了源文件,就不再需要運行該字節碼。 對源文件的更改不會影響已經運行的代碼。

但是,如果引發異常並且Python嘗試格式化回溯以進行顯示,它將返回到源代碼,將字節碼中的行標記映射回源行。 如果源文件在編譯后發生更改,則可能意味着顯示錯誤的行。 這可能會造成混亂。

您可以輕松地提供程序命令行參數以改變其行為方式。 查看sys.argv列表 ,以及argparse模塊,以獲得更復雜的命令行選項處理。 這樣你的代碼就會保持穩定和靈活。

Python通常將源代碼編譯為* .pyc文件。 更改腳本中的值通常不會影響內存中已有的值。

更好的方法是從argv中獲取一個參數

python your_script.py value

你可以用它來訪問它

import sys
sys.argv[1] #this is the 'value' from the command line

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM