如何从“\uuuuu main\uuuuuu”python函数返回对象?

如何从“\uuuuu main\uuuuuu”python函数返回对象?,python,function,object,Python,Function,Object,当尝试从_main__; python函数返回对象时,我得到: def returnSomeObject(File): . . . SomeObject = loader.load(File) return SomeObject if __name__ == "__main__": return returnSomeObject(sys.argv[1]) 这是因为uuuu name_uuuu='\uuuuuu main_uuu'是一个if语句,而return语

当尝试从_main__; python函数返回对象时,我得到:

def returnSomeObject(File):
    . . .
    SomeObject = loader.load(File)
    return SomeObject

if __name__ == "__main__":
    return returnSomeObject(sys.argv[1])
这是因为uuuu name_uuuu='\uuuuuu main_uuu'是一个if语句,而return语句只能存在于函数中

更像

if __name__ == "__main__":
    return returnSomeObject(sys.argv[1])
但你甚至不需要这样做,你只需要做:

def main():
    return returnSomeObject(sys.argv[1])

if __name__ == '__main__':
    main()

请注意,这将不会向控制台打印任何内容。

结果表明,我调用它的文件是问题位置,我需要替换它

if __name__ == '__main__':
    returnSomeObject(sys.argv[1])
与:


只有函数才能返回某些内容。您没有_umain _;函数,只有模块顶层的一些代码,这些代码不是任何函数的一部分。你希望这次回归有什么影响?它应该将值返回到哪里?我正在从本地文件returnSomeObject.py导入returnSomeObject作为returnSomeObject,这仍然不能解释太多,使用as导入同名的东西也不会真正实现任何功能。您希望returnSomeObjectsys.argv[1]调用的结果如何?如果您有多个文件,其中一些文件正在导入其他文件,请描述所有文件中的内容。谢谢@BrenBarn我知道问题出在哪里了,我添加了答案。这并不是说它会产生任何有用的效果…是的,你可以直接在那里调用函数。你的解决方案给了我TypeError:“module”对象不是callable@GlassGhost那是因为你的问题中没有包括整个剧本。您可能正在尝试调用模块中的函数。因此,如果您的模块名为foo,并且您作为import foo导入,那么您需要调用foo.returnSomeObjectsys.argv[1]抱歉@GamesBrainiac我没有包含整个脚本,发布了我的解决方案错误我陷入了一个陷阱,也许这可能会对某人有所帮助。
if __name__ == '__main__':
    returnSomeObject(sys.argv[1])
import returnSomeObject as returnSomeObject
from returnSomeObject import returnSomeObject