我有文件数据库。我正在编写一个程序,要求用户输入文件名,然后使用该输入查找文件,下载文件,在本地创建文件夹并保存文件。.应该使用Python中的哪个模块?
答案 0 :(得分:2)
可以小到这样:
import requests
my_filename = input('Please enter a filename:')
my_url = 'http://www.somedomain/'
r = requests.get(my_url + my_filename, allow_redirects=True)
with open(my_filename, 'wb') as fh:
fh.write(r.content)
答案 1 :(得分:1)
那么,您是否在线数据库? 如果是这样的话,我建议您使用requests模块,它非常Python快速。 另一个基于请求的出色模块是robobrowser。
最终,您可能需要beautiful soup来解析HTML或XML数据。
我会避免使用硒,因为它是为进行网络测试而设计的,它需要一个浏览器和它的网络驱动程序,而且速度很慢。它根本无法满足您的需求。
最后,要与数据库进行交互,我将使用sqlite3
这里有一个样本:
from requests import Session
import os
filename = input()
with Session() as session:
url = f'http://www.domain.example/{filename}'
try:
response = session.get(url)
except requests.exceptions.ConnectionError:
print('File not existing')
download_path = f'C:\\Users\\{os.getlogin()}\\Downloads\\your application'
os.makedirs(dowload_path, exist_ok=True)
with open(os.path.join(download_path, filename), mode='wb') as dbfile:
dbfile.write(response.content)
但是,您应该阅读how to ask a good question。