【问题标题】:how to do string formatting in python for this specific example对于此特定示例,如何在 python 中进行字符串格式化
【发布时间】:2021-01-21 13:24:15
【问题描述】:
pair = ['BTC/USD', 'ETH/BTC', 'ETH/USD']
time_from = 20200101
time_to = 20200120

考虑到上面的列表和变量

我想用os模块执行下面的cmd。

cmd = ("freqtrade download-data -d /home/datarepo -p 'BTC/USD' 'ETH/BTC' 'ETH/USD' -t 1h --timerange 20200101-20200101 --exchange bittrex -vv")

当我使用"' '".join 进行字符串格式化时,我可以像下面的示例那样生成不正确的cmd。

cmd = ("freqtrade download-data -d /home/datarepo -p "BTC/USD' 'ETH/BTC' 'ETH/USD" -t 1h --timerange '20200101-20200101' --exchange bittrex -vv")

任何建议将不胜感激。谢谢

【问题讨论】:

    标签: python-3.x string formatting os.system


    【解决方案1】:

    你可以使用这样的东西:

    pair = ['BTC/USD', 'ETH/BTC', 'ABC/DEF']
    time_from = 20200101
    time_to = 20200120
    
    message = "'" + "' '".join(pair) + "'"
    
    cmd = "freqtrade download-data -d /home/datarepo -p %pair% -t 1h --timerange '%time_to%-%time_from%' --exchange bittrex -vv"
    
    cmd = cmd.replace('%pair%', message).replace('%time_to%', str(time_to)).replace('%time_from%', str(time_from))
    
    print(cmd)
    # "freqtrade download-data -d /home/datarepo -p 'BTC/USD' 'ETH/BTC' 'ABC/DEF' -t 1h --timerange '20200120-20200101' --exchange bittrex -vv"
    

    【讨论】:

    • 我已经更新了详情,请看一下。这正是我所需要的。谢谢
    • 刚刚更新了我对新问题的回答
    • 能否将帖子标记为问题的答案?
    猜你喜欢
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2020-02-02
    相关资源
    最近更新 更多