考慮下面的 bash 腳本。腳本 argparse_test.py 是一個帶有各種變數的 argparse 腳本。
python -u argparse_test.py \
--is_training 3 \
--root_path ./dataset/ \
--data_path data.csv \
-/test_$seq_len'_'196.log
如何將此 bash 腳本轉換為 python 腳本,以便我可以在具有各種變數的 python IDE 中運行它?
uj5u.com熱心網友回復:
這個bash輸入
python -u argparse_test.py \
--is_training 3 \
--root_path ./dataset/ \
--data_path data.csv \
-/test_$seq_len'_'196.log
應該產生一個sys.argv看起來像
['argparse_test.py', '--is_training', '3', '--root_path ./dataset/','--data_path', 'data.csv', '-/test_$seq_len'_'196.log']
這是一個粗略的猜測;bash 可能正在處理不同的斜線(我現在在 Windows 機器上)。
“在 IDE 中運行”是一個模糊的要求。
一些 IDE 有一個run選單項,以及一種指定命令列引數的方式(通常在單獨的選單設定項中)。
如果您有設定決議器的代碼:
parser = argparse.ArgumentParser(...)
...
線
args = parser.parse_args()
讀取sys.argv[1:]并決議它。因此,使用決議器的另一種方法是直接提供等效的字串串列:
argv = ['--is_training','3',...]
args = parser.parse_args(argv)
如果您可以修改腳本,則可以添加幾個顯示
import sys
print(sys.argv)
之后parse_args
print(args)
args將是一個argparse.Namespace應該顯示的物件
Namespace(is_training=3, root_path='./dataset/', data_path='data.csv', ...)
vars(args)
是dict具有相同鍵和值的
任何具有相同屬性的 python 物件都應該與args代碼的其余部分相同。
我覺得這個答案太長太詳細了——因為這個問題含糊不清。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/493703.html
上一篇:使用溢位的二進制補碼
