2017-02-10 2 views
2

У меня есть два сценария main.py и get_number.py. Сценарий get_number.py возвращает случайное число, когда оно вызывается. Я хочу вызвать этот скрипт с main.py и распечатать все эти возвращаемые значения. Другими словами, сценарий get_number.py заключается в следующем:Вызов одного скрипта из другого и импорт его значений

def get_random(): 
    return np.random.uniform(0,1) 

Теперь у меня есть следующий код в main.py

import get_number 

n_call = 4 

values = np.zeros(n_call) 

for i in range(n_call): 
     values[i]= get_number.get_random() 

print(values) 

Однако я получаю ошибку, что No module named get_number. Как мне решить эту задачу?

+1

Попробуйте относительный импорт. 'import .get_number'. Ой, неправильный синтаксис. schwo исправил это, проверьте их. – byxor

+0

@BrandonIbbotson: Он показывает 'недопустимый синтаксис' – pikachuchameleon

+0

' from. import get_number' – schwobaseggl

ответ

1

Я считаю, что вы можете импортировать как импортировать другие библиотеки

from file1 import * 

Importing variables from another file?

Я нашел несколько подобных проблем здесь

1

Вы путаете между get_number и get_random

main.py:

import numpy as np 
from get_number import get_random 

n_call = 4 

values = np.zeros(n_call) 

for i in range(n_call): 
     values[i]= get_random() 

print(values) 

Out: [ 0.63433276 0.36541908 0.83485925 0.59532567]

get_number:

import numpy as np 

def get_random(): 
    return np.random.uniform(0,1) 
1

Вы должны импортировать этот путь: В main.py

from get_number import get_random 
n_call = 4 

values = np.zeros(n_call) 

for i in range(n_call): 
     values[i]= get_random() 

print(values) 
Смежные вопросы