QProcess
을 사용하여 mkdir
명령을 실행하려고합니다 (저는 Linux를 사용하고 있습니다). 이 프로세스는 사용자의 데스크탑에 '출력'이라는 폴더를 만듭니다. 코드는 다음과 같습니다QProcess 문자열의 각 문자를 별도로 읽습니다.
/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
를 실행하려고하기보다는 전체를 사용하고 어떤 이유 : err.txt가 읽는 동안
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가 비어 문자열 자체. args
변수에 str()을 사용하려고했지만 아무 것도 작동하지 않는 것 같습니다. 때마다 그냥 디렉터리에서 프로그램을 실행하는 여러 폴더를 만듭니다.
고마워요! 대신 mkdir()을 사용할 것입니다. 그러나 똑같은 일이 일어나고 있다는 것을 알기에 좋은 곳이 있습니다. – CogDissonance