簡體   English   中英

從 Python 中的另一個文件導入變量

[英]Importing a variable from another file in Python

我有兩個文件 - abc.pymain.py 我的目標是從另一個文件中導入整個字典。 為了更好地解釋它,用戶輸入一個輸入(比如說英語),這應該是將變量 English 從abc.py導入main.py 下面是我試過的代碼,它給了我一個錯誤。

*/abc.py

English = {1:"Hello", 2:"World"}
Italian = {1:"Bonjour", 2:"Mondo"}

*/main.py

import abc
option=input("Please Enter 'English' or 'Italian': ")
selectedLanuage = abc.option

print(selectedLanuage)

我能想到的一種解決方法是將字典和輸入的訪問分開。

option=input("Please Enter 'English' or 'Italian': ")
if option == "English":
    selectedLanguage = abc.English
elif option == "Italian":
    selectedLanguage = abc.Italian
print(selectedLanguage)

編輯:

languages = {"English": abc.English, "Italian": abc.Italian}
option = input("Please Enter 'English' or 'Italian': ")
selectedLanguage = languages[option]

首先,我強烈建議您將當前的abc文件命名為其他名稱,因為abc實際上是一個標准庫模塊 假設您在languages.py中有以下內容

English = {1: "Hello", 2: "World"}
Italian = {1: "Bonjour", 2: "Mondo"}

以及main.py中的以下內容

from languages import English, Italian

languages_by_choice = {
    'English': English,
    'Italian': Italian
}

option = input('Please enter "English" or "Italian": ')
selected_language = languages_by_choice.get(option)
if not selected_language:
    raise ValueError('Invalid language selection: {}'.format(option))

print(selected_language)

您的程序將使用如下方式:

~ python3 main.py   
Please enter "English" or "Italian": English
{1: 'Hello', 2: 'World'}

~ python3 main.py
Please enter "English" or "Italian": Italian
{1: 'Bonjour', 2: 'Mondo'}

~ python3 main.py
Please enter "English" or "Italian": asdf
Traceback (most recent call last):
  File "stackoverflow.py", line 11, in <module>
    raise ValueError('Invalid language selection: {}'.format(option))
ValueError: Invalid language selection: asdf

暫無
暫無

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

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