2017-04-09 52 views
0

我正在爲學校開展一個項目,我必須創建一個系統來識別設備(如筆記本電腦)的故障。如何在不運行變量的情況下導入等於輸入的變量?

爲了最終我試圖將用戶的電子郵件和名稱打印到.txt文件中,但是存儲這些文件的變量在另一個python文件中。當我從_____導入_____使用導入變量時,變量運行會顯示我使用輸入函數實現的問題。

請幫忙!!

下面是一些測試代碼

TEST1:

userName = input ("What is your name ? ") 

userEmail = input ("What is your email address? ") 

import test2 

TEST2:

from test1 import userName 
from test1 import userEmail 

caseNumber = (random.randint(0,999999)) 

file = open ("CaseInfo.txt","w") 
file.write(userName) 
file.write(userEmail) 
file.write(caseNumber) 

當運行代替可變正在打印的變量的值,這是重新執行所以問題再次提出。

+1

您自己編寫的任何代碼? – elena

+0

@elena我已經嘗試使用導入變量,但是一旦我運行代碼,它將顯示問題而不是變量的值,如前一個文件中的變量使用輸入函數來保存(在這種情況下的用戶名)。 – Iamaspacellama

+0

@wwii請你詳細說明一下嗎? – Iamaspacellama

回答

1

你的問題可以通過從test1的除去import語句,並始終運行 test2的

test1的解決:

userName = input ("What is your name ? ") 
userEmail = input ("What is your email address? ") 

#import test2 

測試2:

from test1 import userName 
from test1 import userEmail 
caseNumber = (random.randint(0,999999)) 

file = open ("CaseInfo.txt","w") 
file.write(userName) 
file.write(userEmail) 
file.write(caseNumber) 

或TEST3:

import test1 
caseNumber = (random.randint(0,999999)) 

file = open ("CaseInfo.txt","w") 
file.write(test1.userName) 
file.write(test1.userEmail) 
file.write(test1.caseNumber) 
+0

不幸的是,這不適用於我的代碼,因爲test2中的操作(打開文件並寫入它)必須出現在許多文件中,這取決於用戶在代碼中間的輸入,因爲在我的實際代碼中有代碼中的許多子菜單和test2中的操作都包含在If語句中。 – Iamaspacellama

+1

在這種情況下,您應該發佈一個包含所有相關詳細信息的新問題 - 確保包含一個最簡單的示例以及您的流程的文本描述。 – wwii

+0

@Iamaspacellama你的意思是說你需要將'test'導入多個Python文件?我同意wwii:你應該用一個更清楚地描述你當前代碼的問題和一個專注於你的問題的MCVE([mcve])來寫一個新的問題,以便我們可以重現它並修復它。 –

相關問題