Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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 - Fatal编程技术网

python:在两个脚本之间发送信息

python:在两个脚本之间发送信息,python,Python,我在两个不同的位置有两个Python脚本,无法移动。在两个脚本之间发送信息的最佳方式是什么 例如,在script1.py中,我有一个字符串,例如 x='teststring' 然后我需要将变量“x”传递到script2.py,它会将变量“x”保存到文本文件中 有什么想法吗?您只需导入即可 #script2.py from script1 import x 要使script2找到script1,script1文件必须位于 编辑 下面是一个例子: 首先,我们创建一个dir并显示模块搜索路径的值:

我在两个不同的位置有两个Python脚本,无法移动。在两个脚本之间发送信息的最佳方式是什么

例如,在script1.py中,我有一个字符串,例如

x='teststring'

然后我需要将变量“x”传递到script2.py,它会将变量“x”保存到文本文件中

有什么想法吗?

您只需导入即可

#script2.py
from script1 import x
要使script2找到script1,script1文件必须位于

编辑

下面是一个例子:

首先,我们创建一个dir并显示模块搜索路径的值:

$mkdir some_dir
$echo $PYTHONPATH
没什么。然后我们创建一个文件,其中变量
x
在该目录中初始化为“hola”:

$cat >some_dir/module_a.py <<.
> x = "hola"
> .

用插座怎么样

这是一个关于Python网络编程的好教程。它包括客户端/服务器示例脚本:


以下是做你想做的事情的标准方法:

import sys
sys.path.append('/path/to/the_other_module_dir')
import script1

print script1.x
事实上,如果您为每个涉及不在同一目录中的模块的项目修改环境变量PYTHONPATH,您将有一个不必要的PYTHONPATH变量,并且脚本的用户还必须修改其PYTHONPATH。上述规范方法解决了这些问题

或者,您可能希望直接导入
x

from script1 import x
print x

即使脚本位于两个不同的位置,这是否有效?@Peter:)我知道这将是下一个问题,我正在查看参考资料。我已经更新了答案。有关更完整的示例,请参见:您可能希望在需要使用另一个文件的程序中,将路径附加到sys.path中的某个_dir,而不是修改PYTHONPATH。这样做的好处是不会只为一个项目修改PYTHONPATH。你说的“不同的位置”是什么意思?
$export PYTHONPATH=some_dir
$python module_b.py 
 hola
import sys
sys.path.append('/path/to/the_other_module_dir')
import script1

print script1.x
from script1 import x
print x