Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
Python 如何将一个文件中的函数中的数据获取到另一个文件中_Python_Python 2.7_Import_Python Import_Python Module - Fatal编程技术网

Python 如何将一个文件中的函数中的数据获取到另一个文件中

Python 如何将一个文件中的函数中的数据获取到另一个文件中,python,python-2.7,import,python-import,python-module,Python,Python 2.7,Import,Python Import,Python Module,我必须将一些值从一个文件导入另一个文件。我在second.py中有一个函数名myFunc,其中有一个变量名“a”。现在我想在主函数内的第一个.py文件中显示这个值 first.py ------- import os import second.py import * def main(): //here i need to print from another file if __name__ == '__main__': main() second.py ------

我必须将一些值从一个文件导入另一个文件。我在second.py中有一个函数名myFunc,其中有一个变量名“a”。现在我想在主函数内的第一个.py文件中显示这个值

first.py
-------
import os
import second.py import *

def main():
    //here i need to print from another file


if __name__ == '__main__':
    main()

second.py
---------
import os

def myFunc(var1, var2):
    a = 'test user'

尝试在second.py中返回
a

import os

def myFunc(var1, var2):
    a = 'test user'
    return a
然后在first.py中尝试下面的代码

import os
import second

def main():
    print(second.myFunc(something,something))


if __name__ == '__main__':
    main()

注意:您应该在此处填写参数(表示
var1
var2

尝试在second.py中返回
a

import os

def myFunc(var1, var2):
    a = 'test user'
    return a
然后在first.py中尝试下面的代码

import os
import second

def main():
    print(second.myFunc(something,something))


if __name__ == '__main__':
    main()

注意:您应该在此处填写参数(表示
var1
var2

下面是我在评论中建议的示例

first.py

import os
from second import first_class

def main():
    obj = first_class()
    print(obj.a)


if __name__ == '__main__':
    main()
import os

class first_class:
    def __init__(self):
        self.a = 'test user'
second.py

import os
from second import first_class

def main():
    obj = first_class()
    print(obj.a)


if __name__ == '__main__':
    main()
import os

class first_class:
    def __init__(self):
        self.a = 'test user'

希望能有帮助

下面是我在评论中建议的一个例子

first.py

import os
from second import first_class

def main():
    obj = first_class()
    print(obj.a)


if __name__ == '__main__':
    main()
import os

class first_class:
    def __init__(self):
        self.a = 'test user'
second.py

import os
from second import first_class

def main():
    obj = first_class()
    print(obj.a)


if __name__ == '__main__':
    main()
import os

class first_class:
    def __init__(self):
        self.a = 'test user'

希望能有帮助

定义函数时,函数中的变量不在全局范围内,因此它们只能在该函数中访问。如果要获取该函数的值,请返回该函数。问题的解决方案如下

二等兵
定义函数时,函数中的变量不在全局范围内,因此它们只能在该函数中访问。如果要获取该函数的值,请返回该函数。问题的解决方案如下

二等兵
您可以在second.py中创建一个类,然后声明变量a。然后在first.py中,您可以为该类创建一个对象,并且应该能够访问该变量。@San您能给我一个例子吗?您不能从这样的函数中真正提取变量(即使是在单个文件的情况下)。如果
myFunc
返回
a
,您可以在first.py中编写
print(myFunc(…,…)
,因为
myFunc
返回了
a
,它将在运行first.py时打印出来。您可以在second.py中创建一个类,然后声明变量a。然后在first.py中,您可以为该类创建一个对象,并且应该能够访问该变量。@San您能给我一个例子吗?您不能从这样的函数中真正提取变量(即使是在单个文件的情况下)。如果
myFunc
返回
a
,您可以在first.py中编写:
print(myFunc(…,…)
,并且由于
myFunc
返回
a
,当您运行first.py时将打印它。我得到obj=first_class()名称错误:全局名称“first_class”不是defined@user1687891很抱歉我没有在类定义中保留括号,请检查更新的代码。是的,我在代码中使用了括号,但它显示了相同的错误。@Dux谢谢您的编辑!!。Donno我写导入语句时的想法。@user1687891请查找更新的导入语句。它现在应该可以工作了。我得到obj=first\u class()name错误:全局名称“first\u class”不是defined@user1687891很抱歉,我没有在类定义中保留括号,请检查更新的代码。是的,我在代码中使用了括号,但它显示了相同的错误。@Dux谢谢您的编辑!!。Donno我写导入语句时的想法。@user1687891请查找更新的导入语句。现在应该可以用了。