2016-06-04 3 views
1

У Ich есть один файл python, где я объявляю свои переменные, а второй файл содержит больше функций (в этом примере только одна функция). Я не могу понять, как передать переменные от one.py до two.py.Как передать переменную для работы в другом файле сценария

one.py:

import two 
a=1 
b=2 
c=3 
dict={'ONE':a,'TWO':b,'THREE':c} 

two.py:

def f(): 
    d=a+b+c 
    return d 

two.f() должен возвращать:

6 

Заранее спасибо

EDIT:

В среднем он работает в командной строке. Но по какой-то причине не хочет работать, когда я запускаю скрипт в Abaqus. В нем говорится:

count=two.f(my_dictionary) 
AttributeError:'Module' object has no attribute 'f' 

ответ

0

Прежде всего, создайте модуль для работы «импорт двух». - Создайте каталог и поместите пустой init .py файл там, two.py и one.py.

Ваш two.py должен быть:

def f(x): 
    return x['ONE']+x['TWO']+x['Three'] 

Ваш one.py должен быть:

import two 
a=1 
b=2 
c=3 
my_dictionary={'ONE':a,'TWO':b,'THREE':c} 
two.f(my_dictionary) 
+0

Благодаря до сих пор, binayr. Но я, кажется, получаю: TypeError: f() не принимает аргументов (1 задано). Можете ли вы мне помочь ... Я не программист, я очень новичок в python. – wasntme0804

+0

@ wasntme0804 Скопируйте def f (x): точно, как я написал здесь. Эта ошибка возникает из-за того, что она не ожидает переменную, поскольку вы не определили ее, но передаете ее –

+0

Я скопировал код точно так, как он есть. У меня есть папка, внутри которой они включены: one.py, two.py, init.py (init - пустой файл). Я выполняю скрипт one.py. Как только я запускаю скрипт, он дает мне ошибку выше. Следующим шагом будет следующий: two.f (my_dictionary). Что я делаю не так? – wasntme0804

Смежные вопросы