将 self 解析为列表,而不是字符串
Parse self as list, not string
仍在尝试构建此代码并使其跨平台运行。
我有几个定义因素,有问题的代码引用了这些因素,所以我将全部输入。
self.mainFile = r"\SYS64"
self.dir_path = os.path.dirname(os.path.realpath(__file__))
self.mainOSProgram = "python " + self.dir_path + self.mainFile + r"\jdosos.py"
我已将其与
一起使用
subprocess.Popen(["python",r'\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py'])
但这定义了一个路径,当我希望由代码定义路径时,它可以在安装程序的任何地方工作。
我得到同样的错误,python: can't open file 'C:\Users\Terra': [Errno 2] No such file or directory
如果我print(self.mainOSProgram)
,就是这个结果。
python C:\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py
这是正确的文件路径,但它是作为字符串配对的,所以它在第一个 space.
处中断了语句
print(self.mainOSProgram)
按原样输出字符串,所以你得到空格。如果您尝试在命令中添加引号,它将起作用。
python "C:\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py"
关于代码我会使用os.path.join
构建路径
import subprocess
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
executable_path = os.path.join(dir_path, "SYS64", "jdosos.py")
subprocess.Popen(["python", executable_path])
仍在尝试构建此代码并使其跨平台运行。 我有几个定义因素,有问题的代码引用了这些因素,所以我将全部输入。
self.mainFile = r"\SYS64"
self.dir_path = os.path.dirname(os.path.realpath(__file__))
self.mainOSProgram = "python " + self.dir_path + self.mainFile + r"\jdosos.py"
我已将其与
一起使用subprocess.Popen(["python",r'\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py'])
但这定义了一个路径,当我希望由代码定义路径时,它可以在安装程序的任何地方工作。
我得到同样的错误,python: can't open file 'C:\Users\Terra': [Errno 2] No such file or directory
如果我print(self.mainOSProgram)
,就是这个结果。
python C:\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py
这是正确的文件路径,但它是作为字符串配对的,所以它在第一个 space.
处中断了语句print(self.mainOSProgram)
按原样输出字符串,所以你得到空格。如果您尝试在命令中添加引号,它将起作用。
python "C:\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\jdosos.py"
关于代码我会使用os.path.join
构建路径
import subprocess
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
executable_path = os.path.join(dir_path, "SYS64", "jdosos.py")
subprocess.Popen(["python", executable_path])