Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个模块访问numpy数组(与python数组相比)_Python_Arrays_Numpy_Global Variables_Local Variables - Fatal编程技术网

从另一个模块访问numpy数组(与python数组相比)

从另一个模块访问numpy数组(与python数组相比),python,arrays,numpy,global-variables,local-variables,Python,Arrays,Numpy,Global Variables,Local Variables,我试图将一些python数组转换为numpy数组,但在访问另一个模块中的假定全局np数组时遇到问题 模块1(导入数据): 模块2(使用数据): 但是,当我执行main方法时,控制台显示一个空数组,而在模块1中调用该数组时,该数组包含数据。如果使用python数组而不是numpy数组,则不会出现问题 可以找到问题的答案和解释 特别是对于我的问题,我应该通过声明import import\u data而不是from import\u data import*导入模块1,然后使用import\u da

我试图将一些python数组转换为numpy数组,但在访问另一个模块中的假定全局np数组时遇到问题

模块1(导入数据):

模块2(使用数据):


但是,当我执行main方法时,控制台显示一个空数组,而在模块1中调用该数组时,该数组包含数据。如果使用python数组而不是numpy数组,则不会出现问题

可以找到问题的答案和解释


特别是对于我的问题,我应该通过声明
import import\u data
而不是
from import\u data import*
导入模块1,然后使用
import\u data.jobs\u db
访问变量。

为什么在这里使用全局变量?只需从functionAnyway返回它,这是因为您使用的是带星号的导入,它本质上相当于
import\u数据;jobs_db=导入数据。jobs_db
,但现在
jobs_db
导入数据无关。jobs_db
,只是它们碰巧引用了同一个对象,但可以单独引用其他对象。使用该模块,以便导入数据。jobs\u db,或者更好的是,根本不使用全局变量,但它为什么与python数组而不是numpy数组一起工作?你是什么意思?它的工作原理完全相同。你自己试试,让你的函数只做
jobs\u db=['foo','bar']
import numpy as np
jobs_db = []

def read_all_data(date, filepath):

    global jobs_db
    jobs_db =          np.loadtxt(filepath+'jobs_input.csv', dtype=np.uint8, delimiter=",", skiprows=1)
from Import_data import *

if __name__ == '__main__':

     read_all_data(180901, 'C:/Users/*********/')
     print(jobs_db)