subprocess execv() arg 2 must contain only strings

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了subprocess execv() arg 2 must contain only strings相关的知识,希望对你有一定的参考价值。

subprocess 调用的cmd中含有中文,如下
cmd="cp -f %s %s"%(x, y),y是前台传入的中文参数
调用Popen导致如下错误:
execv() arg 2 must contain only strings

如下修改:
subprocess.Popen(cmd.encode(‘utf-8‘), shell=True)

以上是关于subprocess execv() arg 2 must contain only strings的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有警告的情况下使用 execv()?

subprocess.Popen execve()arg 3包含非字符串值

python subprocess阻塞

FileNotFoundError: [Errno 2] 没有这样的文件或目录 + os.execv

如何使用Python中的subprocess.Popen返回编码值?

python2.7.12 subprocess模块文档翻译