1

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

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

例子:

one.py 有一个字符串变量“hello world,你今天好吗?”

我需要将它传递给 two.py

我怎样才能达到这个结果?

4

2 回答 2

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 中,可能会有一些复杂性需要处理。

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

于 2013-06-20T22:53:27.063 回答
1

我建议使用一个脚本写入另一个脚本读取的文本文档。实现起来应该很简单。

可以在此处找到用于读取和写入文件的文档:

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

于 2013-06-20T22:05:30.750 回答