使用 urllib2 下载用于评估变量的文本

Using urllib2 to download text to be used to evaluate a variable

正在从网络服务器下载文本页 c.txt。 c.txt 只包含字母 'c' 。能够很好地下载文件并打印其内容,字符'c'。但是,不能在下面的代码中使用它的内容:

import urllib2

req = urllib2.Request('http://localhost/c.txt')
response = urllib2.urlopen(req)
result = str(response.read())
print(result) # prints 'c' just fine
furl = "c"
furl = str(furl)
if result == furl: # Does not work
     print('Correct')  

没有错误发生。只是行不通

result 中很可能多了一个白色 space 字符。您可以通过在两面打印字符来检查它。

print '>%s<' % result

如果结果看起来像 >c < 你有一个尾随的白色 space(包括换行符)。

要从字符串中删除前导和尾随白色 space,您可以对字符串使用 strip() 方法。

result = str(response.read()).strip()

或者你也可以直接在比较点上做。

if result.strip() == furl:
    print 'correct'