python子进程模块无法解析带有特殊字符“(”的文件名

德里克·杜布(Derek Dub)

我有一个Python程序,该程序读取文件,然后将它们焦油化成一定大小的tar球。

我的一个文件不仅包含空格,而且还包含括号。我有以下代码:

cmd = "/bin/tar -cvf " +  tmpname +  " '" + filename + "'"

注意:这些是在文件名变量之外的双引号内的单引号。有点很难看。

其中tmpnamefilename是for循环中的变量,每次迭代都会更改(不相关)。

如您所见,我正在压缩文件名的文件名包含单引号,以便外壳程序(bash)按原样解释它,并且不尝试执行变量替换(“”将执行或程序执行“将”执行) 。

据我所知,该cmd变量包含用于shell解释所需命令的确切语法。但是,当我运行以下子流程命令替换cmd变量时:

cmdobj = call(cmd, shell=True)

我得到以下输出/错误:

/ bin / tar:237-r属性传输请求(PTR)012314.pdf:无法统计:没有此类文件或目录

/ bin / tar:由于先前的错误而以失败状态退出

无法焦油:237-r属性运输请求(PTR)012314.pdf

在运行subprocess命令之前,我什至将命令输出到控制台,以查看在shell中运行时的外观,它是:

cmd: /bin/tar -cvf tempname0.tar '237-r Property Transport Request (PTR) 012314.pdf'

当我在shell中运行上述命令时,它工作正常。不太确定这是怎么回事。请帮忙!

帕德拉克·坎宁安(Padraic Cunningham)

传递listargsshell=True完整路径,如果从不同的目录中运行该文件:

from subprocess import check_call

check_call(["tar","-cvf",tmpname ,"Property Transport Request (PTR) 012314.pdf"])

tar不要使用'bin/tar'如果命令返回非零退出状态,则check_call将引发a CalledProcessError

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python子进程模块无法解析带有特殊字符“(”的文件名

来自分类Dev

带有特殊字符的文件名

来自分类Dev

无法删除/移动文件名中带有特殊字符的文件

来自分类Dev

删除文件名中带有特殊字符的目录

来自分类Dev

处理带有特殊首字符的文件名(例如♫)

来自分类Dev

Lazarus ListBox SaveToFile 带有特殊字符的文件名

来自分类Dev

无法从文件名读取特殊字符

来自分类Dev

os.listdir返回带有特殊字符的文件名的奇怪字符串

来自分类Dev

带有奇怪字符的Python unicode文件名

来自分类Dev

pandas:文件路径和文件名中带有重音/特殊字符的 oserror

来自分类Dev

jQuery File Upload-带有特殊字符的blueimp文件名

来自分类Dev

jQuery File Upload-带有特殊字符的blueimp文件名

来自分类Dev

从Content-Disposition标头中提取带有特殊字符的文件名

来自分类Dev

如何在Linux中连续创建带有特殊字符(如()和空格)的文件名?

来自分类Dev

在“超越比较”中,如何排除带有特殊字符的文件名?

来自分类Dev

正则表达式:如何获取带有特殊字符的完整文件名

来自分类Dev

awk 在 *system call* 中处理带有特殊字符的文件名

来自分类Dev

使用python时无法打印带有特殊字符的文件

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

Android视频视图:无法播放文件名中带有“%”字符的视频文件

来自分类Dev

BASH-传递给sFTP的带有空间的文件名无法正常解析

来自分类Dev

更改bash中具有特殊字符的文件名

来自分类Dev

带有 webpack 小写文件名的 css 模块

来自分类Dev

如何导入文件名中带有句点的Python 3模块?

来自分类Dev

无法从FileInputstream中读取带有俄语字符的文件名

来自分类Dev

Lubuntu 无法读取带有西里尔字符的文件名

来自分类Dev

无法删除带有“?”的文件 在文件名中

来自分类Dev

使用Applescript打开带有转义字符的文件名

Related 相关文章

  1. 1

    python子进程模块无法解析带有特殊字符“(”的文件名

  2. 2

    带有特殊字符的文件名

  3. 3

    无法删除/移动文件名中带有特殊字符的文件

  4. 4

    删除文件名中带有特殊字符的目录

  5. 5

    处理带有特殊首字符的文件名(例如♫)

  6. 6

    Lazarus ListBox SaveToFile 带有特殊字符的文件名

  7. 7

    无法从文件名读取特殊字符

  8. 8

    os.listdir返回带有特殊字符的文件名的奇怪字符串

  9. 9

    带有奇怪字符的Python unicode文件名

  10. 10

    pandas:文件路径和文件名中带有重音/特殊字符的 oserror

  11. 11

    jQuery File Upload-带有特殊字符的blueimp文件名

  12. 12

    jQuery File Upload-带有特殊字符的blueimp文件名

  13. 13

    从Content-Disposition标头中提取带有特殊字符的文件名

  14. 14

    如何在Linux中连续创建带有特殊字符(如()和空格)的文件名?

  15. 15

    在“超越比较”中,如何排除带有特殊字符的文件名?

  16. 16

    正则表达式:如何获取带有特殊字符的完整文件名

  17. 17

    awk 在 *system call* 中处理带有特殊字符的文件名

  18. 18

    使用python时无法打印带有特殊字符的文件

  19. 19

    无法删除文件名中包含特殊字符的文件

  20. 20

    无法删除文件名中包含特殊字符的文件

  21. 21

    Android视频视图:无法播放文件名中带有“%”字符的视频文件

  22. 22

    BASH-传递给sFTP的带有空间的文件名无法正常解析

  23. 23

    更改bash中具有特殊字符的文件名

  24. 24

    带有 webpack 小写文件名的 css 模块

  25. 25

    如何导入文件名中带有句点的Python 3模块?

  26. 26

    无法从FileInputstream中读取带有俄语字符的文件名

  27. 27

    Lubuntu 无法读取带有西里尔字符的文件名

  28. 28

    无法删除带有“?”的文件 在文件名中

  29. 29

    使用Applescript打开带有转义字符的文件名

热门标签

归档