2013-04-22 69 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' 
相关问题