我正在使用 urllib2 下载相对较大的文件(每个 10mb),然后将其作为 json 文件加载并将数据插入 mysql 数据库,然后在无限循环中重复该过程。下载需要一分钟左右,然后将所有内容加载到 mysql 中。有没有办法创建一个线程来执行下载,而主线程使用 python 插入 mysql?
我的伪代码:
while 1:
download file with urllib2
decode as json file
extract data I want
do some computations on data
insert data into mysql
非常感谢!
最佳答案
您可以做的是使用线程和队列。文件 IO 线程将读取和处理文件,然后将结果插入队列,然后数据库 IO 线程将在队列中发现结果并执行工作。与其编写示例代码,我将在此处指导您:http://www.ibm.com/developerworks/aix/library/au-threadingpython/
或者,您可以使用 python select
模块来管理多个文件读取操作,并在它们完成时一个一个地处理它们:http://docs.python.org/library/select.html
关于python - 使用python同时下载文件并插入到mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8921700/