繁体   English   中英

在两个python脚本之间传递stryng

[英]pass stryng between two python scripts

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

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

例:

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

我需要将它传递给two.py

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

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

为什么不是这个论点?

我不知道你打算如何运行其他脚本,但几乎任何方式都可以让你用空格,逗号等作为参数传递字符串。

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

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?" ,这一切都是微不足道的。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM