如果我有一个函数(在Python2.5.2中),如:
def sample_func():
a = 78
b = range(5)
#c = a + b[2] - x
我的问题是:
如何使用函数中的局部变量()从外部获取函数的局部变量(a,b),而不使用?(某种程度上的反射)可以从外部设置局部变量(例如x)以便注释行工作吗?(我知道听起来很奇怪)。
提前谢谢。
编辑
每个人都在要求用例。但这是个奇怪的情况。(别怪我,它不是我创造的)。下面是一个场景:
我有一个包含python函数的加密python源文件。location.Then A C扩展模块对它进行解密并在内存中构
我尝试了这两种方法:
os.system("python test.py")
subprocess.Popen("python test.py", shell=True)
这两种方法都需要等待,直到阻塞主进程的test.py完成。我知道"nohup“可以胜任这项工作。有没有一种方法可以启动test.py或任何其他shell脚本,并让它在后台运行?
假设test.py是这样的:
for i in range(0, 1000000):
print i
os.system()或subprocess.Popen()都会阻塞主程序,直到显示1000000
我有一个使用python多处理的程序。我发现在主程序中创建的所有进程都可以完成,但是主程序总是在等待返回值,不能停止。谁能给我一些关于如何解决这个问题的建议?
代码片段如下:
主程序:
workers = multiprocessing.Pool(4)
args = [arg1, arg2, arg3, arg4]
results = workers.map(subfunc, args)
print "we are in main functions "
subfunc(*arg)
# doing some other jobs
result = {.....} # a lar
我有三个python文件,我们称它们为master.py、slave1.py和slave2.py。现在,slave1.py和slave2.py没有任何函数,但需要使用相同的输入(例如变量inp)执行两项不同的操作。
我想要做的是调用主程序中的两个从程序,并在主程序中指定一个输入变量inp,这样我就不必做两次了。另外,我也可以在一个主程序中改变两个从程序的输出,等等。
我希望将slave1.py和slave2.py的代码分开,这样如果需要的话,我可以单独调试它们,但是当我尝试这样做的时候
#! /usr/bin/python
# This is master.py
import slave1
i