【问题标题】:Python ConfigParser printing empty array {}Python ConfigParser 打印空数组 {}
【发布时间】:2018-06-27 00:03:06
【问题描述】:
import configparser

def editConfig():

    config = configparser.ConfigParser()

    host = "10.99.77.1"
    url = "http://" + host + "/Config/config.ini"
    print(url)

    print(config.read(url))
    print(config.sections())

由于某种原因,我的程序只打印一个空数组。是的,我正在通过 wifi 从另一台设备访问配置文件,所以我认为这可能是问题所在,但是当我在连接到设备时将整个 url 放入浏览器时,我可以看到配置文件就好了.我必须先将文件下载到我的计算机上,然后再使用解析器吗?我查看了许多其他 ConfigParser 示例,我的似乎与它们一致。

我已经仔细检查了我已经下载并更新了 Python3.6 的 ConfigParser

【问题讨论】:

  • 我无法访问该配置文件;里面有什么?
  • read() 会忽略它无法打开的文件。如果 print(config.read(url)) 正在打印一个空数组,那么这意味着它无法从该 URL 打开文件。尝试单独读取文件,然后用 read_string() 解析

标签: python printing sections configparser


【解决方案1】:

您需要使用单独的方法来实际获取文件和/或其内容。我是请求的粉丝,但有几种解决方案。

我还想提醒您 - 除非这是一个 S3 存储桶或设置了特定权限的类似东西 - 从您共享的代码来看,它看起来不像是 - 您并没有真正获得安全性是使用 ini 进行配置的要点。如果文件只是包含您不需要保护的内容,那很好,但是如果它具有您的 AWS 密钥,那么将其放在您可以在浏览器中打开的 URL 上就非常糟糕了。

【讨论】:

    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2021-07-05
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多