我正在尝试自动化一项繁琐的任务来更新我们的变更请求/cr/错误的状态。由于数据库模式非常复杂,我求助于向 Web 服务器发出 curl 命令来下载 CR 的转储及其相关状态。我正在处理一个os.system()
电话,但我决定让它更加pythonic并使用pycurl。我认为问题在于,当我将下载的 csv 写入磁盘时,当我去访问它时(就在c.perform()
. 我被引导相信这一点,因为错误显示list index out of range
. 但是当我自己打开文件时,看起来所有数据都在那里。这是代码片段(在 find_bugs 方法中,我在每一行上发出拆分并索引到每一行的相关列 - 那'
f = open(cr_file, 'w+')
c = pycurl.Curl()
c.setopt(c.URL, csv_url)
c.setopt(c.WRITEFUNCTION, f.write)
c.setopt(c.HTTPHEADER, headers)
c.perform()
with open(cr_file, 'r') as f:
ids = find_bugs(f.readlines())
问题:当我需要在完成后立即访问文件时,如何使用 pycurl 写入磁盘?