操作系统echo中的双引号

2024-09-30 06:17:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

import os
os.system("""echo pyklopp init my_model --config="'{\"model\":%s}'" --save "'test_%s/my_model.pth'" """ % ("MODEL", 0))

我的输出是:

pyklopp init my_model --config='{model:MODEL}' --save 'test_0/my_model.pth'

我想:

pyklopp init my_model --config='{"model":MODEL}' --save 'test_0/my_model.pth'

我想要model在双引号内,如上所示。有什么建议吗

我在Ubuntu上运行


Tags: testimportechoconfig密码modelinitos
1条回答
网友
1楼 · 发布于 2024-09-30 06:17:50

在Ubuntu上,您似乎必须双重转义'",如下所示:

import os
os.system("""echo pyklopp init my_model  config=\\'{\\"model\\":%s}\\'  save \\'test_%s/my_model.pth\\' """ % ("MODEL", 0))

这应该给你:

pyklopp init my_model  config='{"model":MODEL}'  save 'test_0/my_model.pth'

旧答案,适用于Windows

尝试同时转义'",并删除'{\"model\":%s}\''test_%s/my_model.pth\'周围的双引号

像这样:

import os
os.system("""echo pyklopp init my_model  config=\'{\"model\":%s}\'  save \'test_%s/my_model.pth\' """ % ("MODEL", 0))

其中:

pyklopp init my_model  config="'{"model":MODEL}'"  save "'test_0/my_model.pth'"

编辑:

你甚至不需要逃避任何事情

不逃避:

import os
os.system("""echo pyklopp init my_model  config='{"model":%s}'  save 'test_%s/my_model.pth' """ % ("MODEL", 0))

会给你同样的结果

相关问题 更多 >

    热门问题