首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从文本文件中读取信息,并将读取的行传递给urlencode python函数

从文本文件中读取信息,并将读取的行传递给urlencode python函数
EN

Stack Overflow用户
提问于 2011-09-10 06:48:16
回答 1查看 1.1K关注 0票数 1

我正在尝试将urlencode()数据发送到我的web服务器。urlencode()函数使用的数据是从我的本地机器上的一个文本文件中读取的。当我从.py脚本读取urlencode()函数的输入数据时,没有抛出任何错误。但是,如果urlencode()函数的输入数据来自本地输入文本文件,我会得到以下错误:

回溯(最近一次调用):文件"active_directory_ssl_test.py",第30行,参数=urllib.urlencode(dict(行)) ValueError:字典更新序列元素#0的长度为1;需要2

我正在做以下工作:

代码语言:javascript
复制
FILE=open(IN_FILE, 'r')
LINE = FILE.readline()
while LINE:
    print LINE
    LINE = FILE.readline()
    params = urllib.urlencode(dict(LINE))
    try:
        f_handler = urlopen('https://host_name/path_name/file_name', params)

从文本文件中读取数据时,为什么会有差异或错误。在这两种情况下,变量都用作urlencode()函数的参数。

这是输入文本文件的内容:

代码语言:javascript
复制
{'hostname' : 'host.1.com', 'port' : '389', 'basedn' : 'CN=Users,DC=prem,DC=local', 'username' : 'CN=Administrator,CN=Users,DC=onprem,DC=local', 'password' : 'passwd', 'roupname' : 'CN=Group,CN=Users,DC=onprem,DC=local', 'attribute' : 'name', 'enabled' : 'sync', 'impsync' : 'sync', 'enabled' : 'enabled', 'username' : 'user@1.com', 'password' : 'passwd', 'update' ; 'update'}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-10 06:58:39

我将继续发布我的评论作为答案,因为它就是答案。您正在对字符串调用dict()dict()函数需要两种类型的输入之一。A.形成(key, value)对的元组列表,或B.以key = value形式出现的关键字参数。这两个你都过不了。

--评论的额外细节--

代码语言:javascript
复制
>>> input = {'key1': 'value1', 'key2': 'value2'}
>>> type(input)
<type 'dict'>
>>> dict(input)
{'key2': 'value2', 'key1': 'value1'}
>>> input = "{'key1': 'value1', 'key2': 'value2'}" # This is your 2nd form.
>>> type(input)
<type 'str'>
>>> dict(input)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 1; 2 is required

此外,无论如何,在您的第一个示例中,对dict()的调用是多余的。您已经有一个使用原义语法声明的字典。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7368239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档