Python方法不返回字符串

Python Method not returning string

我正试图从我的一个方法返回一个字符串。方法在我的__init__方法中调用。我在我的__init__中的命令是:

1
self.downloadHTTP()

然后,在该方法中,打印内容将用于测试,以显示字符串在返回之前是有效的:

1
2
print"workspace/data/formatter/input/" + self.filename
return"workspace/data/formatter/input/" + self.filename

但返回的字符串不是那样的,而是:

1
<__main__.downloader object at 0x10be6e890>

但在控制台中,您可以看到我的字符串在打印工作时是有效的:

1
2
workspace/data/formatter/input/30009_2-8-2016_unprocessed.csv
<__main__.downloader object at 0x10be6e890>

编辑:

包括整个班级。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class downloader(object):

def __init__(self,settings): #Configures settings and executes appropriate fucntion.

    self.fetch_type = settings['item']['import_settings']['fetch_type']

    #Setting filename of local copy
    i = datetime.datetime.now()
    self.filename = settings['item']['partner_id'] +"_%s-%s-%s_unprocessed." % (i.day, i.month, i.year) + settings['item']['import_settings']['feed_format']

    if self.fetch_type =="http":
        # downloadHTTP
        self.fetch_url = settings['item']['import_settings']['fetch_url']
        self.downloadHTTP()

def downloadHTTP(self): #TESTED

    urllib.urlretrieve(self.fetch_url,"workspace/data/formatter/input/"+self.filename)
    return"workspace/data/formatter/input/" + self.filename

这就是我如何实例化:

1
2
3
settings_path ="workspace/data/configs/feed/FTP.json"
settings_json = json.loads(open(settings_path, 'r').read())
print downloader(settings_json)

我这样做的原因是我想把它传递给另一个函数。


感谢您在评论中的意见。问题是我基本上是在打印对象,并且我在init函数中执行了所有任务。我通过将下载分离成一个方法来解决这个问题,然后返回该方法中的字符串。