微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将unicodeparameter passing给subprocess.Popen调用的外部程序

(我已经阅读了不同的post和资源,包括“ 绝对最低限度… ”,但仍不明白如何解决我的问题)

我想将我的目录(及其子目录)中的所有文件提供给xmllint工具。 有些文件名称上有中文字符。

#!/usr/bin/env python3 import os,sys import subprocess fn_folder = "d:/test" fn_tool_path = 'd:/libxml2-2.9.3-win32-x86_64/bin/xmllint.exe ' for root,subFolders,files in os.walk(fn_folder): for eachfile in files: fullname = os.path.join(root,eachfile) full_cmd = fn_tool_path + '--format ' + fullname subprocess.Popen(full_cmd)

如果,例如,在那个d:test文件我有2个文件:test1.xml和test2山.xml(中文字符在'2'之后),那么第一个将被正确处理,而第二个我会得到warning: Failed to load external entity "file:/d:/test/test2%3F.xml" – 即在作为parameter passing之前,“错误”字符已被转义。 如何避免这一点?

ImportError:DLL加载失败:%1不是有效的Win32应用程序 – paramiko

页面redirect到其他Web浏览器

ProcessBuilder对我在Windows上的命令行参数做了一些事情

将更新的数据上传到服务器的最简单的方法

如何安全地从DLL中挂接到消息泵?

进度栏不会立即更新

从IntPtr句柄获取Control / Form对象

Ajax请求在windows上不能并行运行

无法安装Bonobo git服务器的工作副本

通过Google Cloud SDK更新后无法启动appengine应用程序

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐