gpt4 book ai didi

python - 我怎样才能告诉子进程停止转义我的引号?

转载 作者:太空狗 更新时间:2023-10-30 01:09:17 25 4
gpt4 key购买 nike

我正在尝试使用子进程调用 Vim,并向它传递一个参数。例如:

subprocess.call(['gvim.exe', ''' "+map <F5> :echo 'Hello!'<cr>" '''])

此命令适用于命令行:

> gvim.exe "+map <F5> :echo 'Hello!'<cr>"

然后我按下 F5,它告诉我你好。

子进程调用不起作用。当我在任务管理器中查看进程时,我看到我的字符串现在是:

"\" +map <F5> :echo 'Hello!'<cr>\""

完全不是我所期望的,我也不认为这是 Vim 所期望的。 看起来子进程以某种方式转义了我的引号,但我不知道为什么。

有什么办法可以让它像我期望的那样工作吗?

最佳答案

subprocess.call 起不需要引号将参数直接传递给进程而不使用 shell(除非您设置 shell=True )。

所以,subprocess.call(['gvim.exe', "+map <F5> :echo 'Hello!'<cr>"])就足够了。

关于python - 我怎样才能告诉子进程停止转义我的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14632356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com