如何输入文件名并用Python下载文件?

时间:2018-09-04 05:12:12

标签: python automation

我有文件数据库。我正在编写一个程序,要求用户输入文件名,然后使用该输入查找文件,下载文件,在本地创建文件夹并保存文件。.应该使用Python中的哪个模块?

2 个答案:

答案 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