代码之家  ›  专栏  ›  技术社区  ›  etm124

打印一系列数字-包括结束值[已关闭]

  •  -1
  • etm124  · 技术社区  · 6 年前

    我有以下字典:

    self.info("check_reg_min_max")
    self.info(pprint.pformat(check_reg_min_max))
    
    
    {
    'TXH1DH50_DD70_03062018_FULL': [60398572, 60399376],
    'TXH2DH50_DD70_03062018_FULL': [5071407, 5071709],
    'TXH3DH50_DD70_03062018_FULL': [2822010, 2822116],
    'TXH4DH50_DD70_03062018_FULL': [52148625, 52148782],
    'TXH5DH50_DD70_03062018_FULL': [6764732, 6764766]
    }
    

    我要做的是将每个数字范围写入一个文件,所以我要这样做:

    for filename in check_reg_min_max:
            jc.write(range(check_reg_min_max[filename][0], check_reg_min_max[filename][1] + 1))
    

    我一直收到的错误消息是:

    argument 1 must be string or read-only character buffer, not list
    

    我的理解是 range 取两个整数,由于它是包含的,所以我将 +1 获取最终值。

    你知道我做错了什么吗?

    编辑:我抓错了错误消息。错误消息已更新。

    1 回复  |  直到 6 年前
        1
  •  0
  •   sql_knievel    6 年前

    write()方法需要一个字符串。你不能直接通过一个范围,它不知道该怎么做。这行不通:

    f = open('test.txt', 'w')
    f.write(range(1,10))
    f.close()
    

    您需要做一些事情来将该范围转换为字符串。如果您想要一个逗号分隔的值列表,下面是一个示例:

    f = open('test.txt', 'w')
    f.write(','.join([str(x) for x in range(1,10)]))
    f.close()