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中运行上述命令时,它工作正常。不太确定这是怎么回事。请帮忙!

帕德拉克·坎宁安

传递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

带有特殊字符的文件名

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

    带有特殊字符的文件名

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档