我正在尝试使用 aQProcess
来运行mkdir
命令(我正在使用 linux)。该过程将在用户的桌面上创建一个名为“输出”的文件夹。代码如下所示:
def mkOutput():
# get the user's environmental variables
env = QtCore.QProcessEnvironment.systemEnvironment()
proc = QtCore.QProcess()
proc.setProcessEnvironment(env)
# find the HOME variable, append it to args
HOME = env.value('HOME', defaultValue='./')
args = "/Desktop/output/"
args = HOME+args
proc.setStandardOutputFile('out.txt')
proc.setStandardErrorFile('err.txt')
proc.start("mkdir", args)
proc.waitForFinished()
out.txt 为空,而 err.txt 读取:
/usr/bin/mkdir: cannot create directory ‘/’: File exists
/usr/bin/mkdir: cannot create directory ‘o’: File exists
/usr/bin/mkdir: cannot create directory ‘t’: File exists
/usr/bin/mkdir: cannot create directory ‘p’: File exists
/usr/bin/mkdir: cannot create directory ‘u’: File exists
/usr/bin/mkdir: cannot create directory ‘t’: File exists
/usr/bin/mkdir: cannot create directory ‘/’: File exists
出于某种原因,它试图mkdir
在参数中的每个字母上运行,而不是使用整个字符串本身。我尝试在args
变量上使用 str() ,但似乎没有任何效果。每次它只是在我运行程序的目录中创建多个文件夹。