![](/img/trans.png)
[英]In Python, How can I create a while loop using input + 'filename'
[英]How can I input a filename and download the file in Python?
我有文件數據庫。 我正在編寫一個程序,要求用戶輸入文件名,然后使用該輸入查找文件,下載文件,在本地創建文件夾並保存文件。應該使用Python中的哪個模塊?
可以像這樣小:
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)
好吧,您有在線數據庫嗎? 如果是這樣的話,我建議您使用requests模塊,非常pythonic且快速。 另一個基於請求的出色模塊是robobrowser 。
最終,您可能需要漂亮的湯來解析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)
但是,您應該閱讀如何提出一個好問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.