如何将目录路径传递给 os.execvp
How to pass a directory path to os.execvp
我在从 Python 执行时尝试 change directory path of RethinkDB。
此 Bash 命令正在运行:
rethinkdb --directory ~/ComeOnRethink
但是这个系统调用不起作用:
args = ("--directory ~/ComeOnRethink",) # RethinkDB directory to store data and metadata
os.execvp("rethinkdb", args)
忽略参数并使用默认路径执行RethinkDB。我该如何解决这个问题?
*这是有效的:
subprocess.Popen(['rethinkdb', '--directory', './ComeOnRethink'])
试试这个:
import os.path
args = ["rethinkdb", "--directory", os.path.expanduser("~/ComeOnRethink")]
os.execvp("rethinkdb", args) # assumes 'rethinkdb' can be found in a directory listed in the PATH environment variable
args
应该是命令行词的可迭代(由 shell 解析,包括命令名称)。
os.path.expanduser
将替换用户主目录路径参数中的 ~
(这是 bash
为您所做的)。
我在从 Python 执行时尝试 change directory path of RethinkDB。
此 Bash 命令正在运行:
rethinkdb --directory ~/ComeOnRethink
但是这个系统调用不起作用:
args = ("--directory ~/ComeOnRethink",) # RethinkDB directory to store data and metadata
os.execvp("rethinkdb", args)
忽略参数并使用默认路径执行RethinkDB。我该如何解决这个问题?
*这是有效的:
subprocess.Popen(['rethinkdb', '--directory', './ComeOnRethink'])
试试这个:
import os.path
args = ["rethinkdb", "--directory", os.path.expanduser("~/ComeOnRethink")]
os.execvp("rethinkdb", args) # assumes 'rethinkdb' can be found in a directory listed in the PATH environment variable
args
应该是命令行词的可迭代(由 shell 解析,包括命令名称)。
os.path.expanduser
将替换用户主目录路径参数中的 ~
(这是 bash
为您所做的)。