2013-04-22 3 views
-1

Я новичок в скриптах python.Как импортировать переменные в разные файлы в python

У меня есть 3 файла.

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

В файлах:

  • a.py: имея все переменные замедления

  • b.py: Я импортирую a.py для использования varia bles объявлено в a.py как import a

  • c.py: Мне нужно использовать инициализированные переменные. Я импортировал a.py. но я не могу использовать эти определенные переменные.

Может ли кто-нибудь сказать мне, как использовать переменные в c.py.

a.py: декларация

Variable_a = ' ' 

b.py:

import a 
Variable_a = "value" 

как использовать выше Variable_a значение в c.py.

+0

это первый раз, когда я слышу о 'декларировании переменных в python' –

+0

Возможно, причина в том, что у вас такая настройка, но похоже, что вам нужна конфигурация файл и прочитать его с помощью configparser. – timss

+5

Это очень странная вещь, которую нужно делать. Можете ли вы объяснить, что является вашим * фактическим * вариантом использования? Похоже на проблему [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). –

ответ

0

, если вы хотите использовать variable_a в c.py,

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

здесь у меня есть arround 30 + переменные. Как я могу импортировать каждый из них? –

+0

См. Обновленный ответ – 2013-04-22 09:08:50

+3

Вы можете использовать 'from import *', но если у вас есть 30 + таких переменных, у вас есть серьезная проблема с вашим кодом. Вы бы лучше описали, какую проблему вы хотите решить, и попросите «pythonic» решение. – Achim

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 

Выход с.ру

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

Как вы можете видеть,
значения различных переменных различны.

Используйте имя, которое вам нужно использовать. Кроме того, вы также можете использовать инструкцию from .. import .., если хотите.

0

При импорте a и хотите получить доступ к a атрибутов вы должны написать a.attrName Если вы хотите получить доступ к Variable_a от b без a.attrName вы должны заменить import a с from a import Variable_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' 
Смежные вопросы