簡體   English   中英

python提供帶有單引號的函數參數

[英]python provide arguments to a function with single quotes

我有一個提供其他功能參數的函數

def errata_eus_repo(rhel_ver, cv_name):
    rhel_check = "Red Hat Enterprise Linux Extended Update Support" + " " + rhel_ver
    cv_name_errat = []
    for eus_repo in erra_eus_repo:
        errata = eus_repo[0]
        product = eus_repo[1]
        if product == rhel_check:
            cv_name_errat.extend([cv_name, errata])
            return cv_name_errat

def filter_ver(rhel_ver):
    regex = re.compile('\d{1}\.\d{1}')
    if not regex.match(rhel_ver):
        return False
    return True

for cv_rhel_ver in name_rhel:
    if not filter_ver(cv_rhel_ver):
        cv_name = str(cv_rhel_ver)
    if filter_ver(str(cv_rhel_ver)):
        rhel_ver = str(cv_rhel_ver)

    errata_eus_lst = errata_eus_repo(str(rhel_ver), str(cv_name))
    print(errata_eus_lst)

當我打電話給errata_eus_repo ,我沒有得到結果

 errata_eus_lst = errata_eus_repo(str(rhel_ver), str(cv_name))

但是,如果將變量直接發送到函數,則會得到正確的結果。

我認為問題可能是對參數errata_eus_repo(str("rhel_ver"), str("cv_name"))提供雙引號,但我仍然沒有結果。 有任何想法嗎?

引號僅用於傳遞文字變量名稱,而不是變量包含的數據。 您的問題在於如何在迭代周期中使用變量。

您只需要在循環的每次迭代中初始化一個變量rhel_vercv_name for循環應該給您一個錯誤。

暫無
暫無

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

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