这是我的代码:
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上跑。
发布于 2020-12-15 15:01:31
在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))会给你同样的结果。
https://stackoverflow.com/questions/65307893
复制相似问题