0
我試圖使用QProcess
來運行mkdir
命令(我使用的是linux)。該過程將在用戶桌面上創建一個名爲「輸出」的文件夾。代碼如下所示:QProcess將字符串中的每個字母單獨讀取
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
,而不是使用全字符串本身。 我試圖使用str()在args
變量上,但似乎沒有任何工作。每次它只是在我運行該程序的目錄中創建多個文件夾。
謝謝!我將使用mkdir()來代替,但我不得不在同樣的事情正在發生,以及使的好,知道一些其他電話 – CogDissonance