2013-04-22 62 views
-1

我是python腳本編程的新手。如何將變量導入python中的不同文件中

我有3個文件。

  1. a.py
  2. b.py
  3. c.py

在文件:

  • a.py:具有所有變量減速

  • b.py:我正在導入a.py來使用變量比如import a

  • c.py:我需要使用初始化變量。我導入了a.py。但我無法使用這些定義的變量。

任何人都可以告訴我如何使用c.py中的變量。

a.py:聲明

Variable_a = ' ' 

b.py:

import a 
Variable_a = "value" 

如何使用c.py.上述Variable_a

如果你想使用c.py variable_a
+0

這是我第一次聽到'聲明變量在Python中 – 2013-04-22 08:50:09

+0

可能有一個原因,你有這樣的設置,但它看起來像你想要的是一個配置文件並使用configparser讀取它。 – timss 2013-04-22 08:50:20

+5

這是一件非常奇怪的事情要做。你能解釋一下你的*實際用例嗎?聽起來像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)給我。 – 2013-04-22 08:51:15

回答

0

from b import variable_a 
print variable_a 

,或者

import b 
print b.variable_a 
#mention the variable as b.variable_a 
0

a.py

x=10 

b.py

from a import x 
print x 

修訂..

a.py

x=10 
y=20 
z=30 

b.py

import a 
print a.x 
print a.y 
print a.z 
+0

這裏我有30多個變量。我怎樣才能導入他們每個人? – 2013-04-22 09:05:56

+0

查看更新回答 – 2013-04-22 09:08:50

+3

您可以使用'from import *',但如果您有30多個這樣的變量,那麼您的代碼存在嚴重問題。你會更好地描述你想解決什麼問題,並尋求一個「pythonic」解決方案。 – Achim 2013-04-22 09:08:53

0

a.py

x = 10 

b.py

import a 
x = 110 

c.py

import b 

import b 

x = 3 
print "b.a.x",b.a.x 
print "b.x ",b.x 
print 'x ',x 

輸出的C。PY

b.a.x 10 
b.x 110 
x  3 

正如你可以看到,各種變量的
值是不同的。

使用您需要使用的名稱。此外,如果您願意,也可以使用from .. import ..聲明。

0

當您導入a,並希望訪問a屬性,你應該寫a.attrName。如果你想從b訪問Variable_a沒有a.attrName你應該from a import Variable_a 和等取代import a。 看看這個例子:

a.py

Variable_a = ' ' 

b.py

from a import Variable_a 
Variable_a = "value" 

c.py

from b import Variable_a 
print Variable_a # Should print 'value' 
相關問題