首页 > 文章列表 > Linux下如何使用subprocess.call执行包含空格的文件名命令?

Linux下如何使用subprocess.call执行包含空格的文件名命令?

258 2025-03-11

Linux下如何使用subprocess.call执行包含空格的文件名命令?

linux下用subprocess.call执行包含空格的文件名命令

对于包含空格的文件名,在用subprocess.call执行linux命令时,可以使用引号或转义字符来解决。

在你的例子中,可以用引号将文件名括起来:

import subprocess

cmdu = '''cat "./temp/1 1.txt" "./temp/1 2.txt" > "./temp/1 3.txt"'''
subprocess.call(cmdu.split())

这里使用了字符串三重引号 (`) 来包含命令,以避免转义引号的麻烦。

另外一种方法是使用转义字符:

import subprocess

cmdu = 'cat "./temp/1 1.txt" "./temp/1 2.txt" > "./temp/1 3.txt"'
subprocess.call(cmdu.split(' '))

ここで、ファイル名が 1 1.txt の场合、コマンドは次のようになります。

cat "./TEMP/1 1.txt" "./TEMP/1 2.txt" > "./TEMP/1 3.txt"
来源:1730606534