在两个python脚本之间传递stryng

时间:2013-06-20 22:01:37

标签: python variables scripting share

我需要在两个python脚本之间传递一个字符串值。

这不是一个参数,但它是一个包含句子的字符串(带空格,逗号等)。

示例:

one.py有一个字符串变量“hello world,你今天过得怎么样?”

我需要将它传递给two.py

如何实现这一结果?

2 个答案:

答案 0 :(得分:3)

  

这不是一个参数,但它是一个包含句子的字符串(带空格,逗号等)。

为什么这不是一个论点?

我不知道你是如何计划运行其他脚本的,但几乎所有这样做都允许你用空格,逗号等作为参数传递字符串。

如果你以聪明的方式做事,它会自动运作:

subprocess.check_call([sys.executable, path_to_script2, arg])

如果您正在执行类似os.system的操作,则必须手动引用该参数以将其传递给shell ...但最简单的答案是“不要使用os.system,所以我除非你具体要求,否则不会说明如何做到这一点。

无论哪种方式,当script2运行时,其sys.argv[1]将为arg,并保留空格和逗号等。


如果字符串太大,您可能会遇到最大argv长度的问题 - 更糟糕的是,它们在不同平台上可能会出现不同的问题。

此外,如果你使用的是Unicode,特别是在Python 2.x中,可能会有一些复杂的问题需要处理。

但是,对于像"hello world, how are you today?"这样的简短全ASCII字符串,这一切都是微不足道的。

答案 1 :(得分:1)

我建议使用一个脚本写入的文本文档,另一个脚本从中读取。这应该是非常简单的实现。

可在此处找到有关读写文件的文档:

http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files