如何确定在python中传递的参数的类型

时间:2014-05-28 12:19:57

标签: python

具体来说,我想知道以下代码示例中myFile上可用的属性:

def upload(self, myFile):
    out = """<html>
    <body>
        myFile length: %s<br />
        myFile filename: %s<br />
        myFile mime-type: %s
    </body>
    </html>"""

    # Although this just counts the file length, it demonstrates
    # how to read large files in chunks instead of all at once.
    # CherryPy reads the uploaded file into a temporary file;
    # myFile.file.read reads from that.
    size = 0
    while True:
        data = myFile.file.read(8192)
        if not data:
            break
        size += len(data)

    return out % (size, myFile.filename, myFile.content_type)
upload.exposed = True

这取自CherryPy文件上传示例,它显示了文档中提供的一些属性。即filefilenamecontent_type

但是我如何确定所有属性,或者更好的实际类型是什么,以便我可以打开源并读取属性?

1 个答案:

答案 0 :(得分:2)

可以使用type(myFile)获取类型。您可以使用inspect模块或myFile.__dict__查看属性。

如果您想查看源代码,请使用type(myFile).__module__查看其定义位置。