在Python中,究竟是一串字符串? (或者Glib bug?)
发布时间:2020-12-20 13:40:22 所属栏目:Python 来源:网络整理
导读:我知道这个问题可能看起来很愚蠢,但我真的无法弄明白.虽然一系列字符串是一个字符串列表,但我很天真.但是,这失败了: (pid,stdin,stdout,stderr) = glib.spawn_async( argv=["foo","bar"],envp=None,flags=glib.SPAWN_SEARCH_PATH + glib.SPAWN_CHILD_INHERI
我知道这个问题可能看起来很愚蠢,但我真的无法弄明白.虽然一系列字符串是一个字符串列表,但我很天真.但是,这失败了:
(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,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论证似乎与其文档不同.不要提供无.如果您不打算使用它,请不要提供该关键字/位置. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |