字节解码在静态方法中不起作用?

时间:2016-05-13 09:20:18

标签: python python-3.x

我是python的新手。 我正在尝试使用urllib获取网页。 这是正常的课程。我想清理代码,所以我通常将它们放到静态方法中并在其他类中调用它们。

执行代码时,程序立即停止,控制台中没有错误代码。如果我不使用解码功能,则没有错误,但数据以字节为单位。

有人可以告诉我为什么会这样吗?

import sys
import urllib.request

class AppTool():

    @staticmethod
    def getURL(URL):
        result = ""

        try:
            request = urllib.request.Request(URL)
            response = urllib.request.urlopen(request)
            result = response.read().decode('utf-8')
            print("result : {}".format(result))

        except:
            print("Error: {}".format(sys.exc_info()))

        return result

1 个答案:

答案 0 :(得分:-2)

尝试这一个而不是解码('UTF-8'):

:-moz-placeholder { color: red; opacity:1;}
::-moz-placeholder { color: red; opacity:1;}

但是我建议你使用python的请求库。它具有更好的错误处理能力,可以更轻松地为您提供utf-8内容。

对于错误=您可以选择:

n = 5
def printPascal(n):
    Pascal_List = []
    if n == 0:
        Pascal_List.append([1])
        return Pascal_List
    if n == 1:
        Pascal_List.append([1])
        Pascal_List.append([1,1])
        return Pascal_List


    else:

        new_row = [1]
        final_r = printPascal(n - 1)
        last_row = final_r[-1]
        for k in range(1, last_row[-1]):
            new_row.append(final_r[k] + final_r[k - 1])

        new_row += last_row
        final_r.append(new_row)
        return final_r

print(printPascal(n))

这是一个更好的答案: https://stackoverflow.com/a/517974/1463812