在Python中,究竟是一串字符串? (或者Glib bug?)
作者:互联网
我知道这个问题可能看起来很愚蠢,但我真的无法弄明白.虽然一系列字符串是一个字符串列表,但我很天真.但是,这失败了:
(pid, stdin, stdout, stderr) = glib.spawn_async(
argv=["foo", "bar"],
envp=None,
flags=glib.SPAWN_SEARCH_PATH + glib.SPAWN_CHILD_INHERITS_STDIN,
standard_input=True,
standard_output=True,
standard_error=True)
失败,出现此错误:
TypeError: glib.spawn_async: first argument must be a sequence of strings
我尝试了一个元组,它没有给出更好的结果.
如果不是列表,什么是字符串序列?我虽然关于可能的Python-Glib错误,但我不相信这样的错误确实存在.我在网上发现了类似的消息,但我不知道这是错误,这是一个错误,还是这个错误的发生.
– 编辑 –
使用这个更短的样本,结尾相同:
(pid, stdin, stdout, stderr) = glib.spawn_async(argv=["foo", "bar"])
根据海报的要求,这里有完整的描述:
Traceback (most recent call last):
File "<...>/test.py", line 92, in <module>
run()
File "<...>/test.py", line 62, in run
standard_error=True)
TypeError: glib.spawn_async: first argument must be a sequence of strings
解决方法:
总结对该问题的评论:
>字符串不应该是unicode对象.如果您有Python 3或从__future__导入unicode_literals,请通过b“foo”语法创建字节文字.
> envp论证似乎与其文档不同.不要提供无.如果您不打算使用它,请不要提供该关键字/位置.
标签:python,python-2-7,glib 来源: https://codeday.me/bug/20190708/1406117.html