簡體   English   中英

Python-如何從另一個文件設置參數值

[英]Python- how can I set the value for params from another file

我是Python的新手。 我必須編輯一些測試。 我有一個文件,其中包含要執行的測試的所有詳細信息。 例如,文件名是“ test 1”

在此文件中,幾乎沒有全局參數:

LINK_IP_ADDR = "10.8.22.89"
STABILITY_SLEEP = 5  
MAIN_STATE_SLEEP = 30 

為了自動進行通用測試,我想從另一個python文件(例如config_file)的params中設置值。 我該怎么辦?

您可能應該為此使用配置文件。 ConfigParser包將完成此工作。 如果您想要一個快速而骯臟的版本,那么以下內容可能適合您。

在“測試文件”中,輸入以下內容:

class Params:
    LINK_IP_ADDR = "10.8.22.89"
    STABILITY_SLEEP = 5
    MAIN_STATE_SLEEP = 30

然后在您的主程序中導入所需的參數,然后使用它們:

from test1 import Params
# from test2 import Params
print Params.LINK_IP_ADDR

然后,您可以將導入語句切換到要使用的文件。 我會使用帶有不同部分的普通.ini文件。

這是從普通文件中快速獲取n'臟文件的方法:

params = dict()

with open('config_file') as f:
    for line in f:
        param, value = line.split("=")
        params[param.strip()] = value.strip()

print(params)

config_file:

LINK_IP_ADDR = "10.8.22.89"
STABILITY_SLEEP = 5
MAIN_STATE_SLEEP = 30

對於配置文件,我使用了.yaml文件。 這種格式存儲您的配置,例如json或python-dict。 U可以存儲復雜的結構(數組,哈希圖等),非常好

config.yaml

LINK_IP_ADDR: 10.8.22.89
STABILITY_SLEEP: 5 
MAIN_STATE_SLEEP: 30

另一個

import yaml
configs = yaml.safe_load(file("path_to_config.yaml"))
# to use you configs:
configs['LINK_IP_ADDR']
#.....

暫無
暫無

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

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