运行 下载 link 并解压到 python 中的一个文件夹,其中 url 存储一个变量
run download link and unzip to a folder in python with a url that stores a variable
如何使 python 中的脚本通过用户通过控制台在输入中输入的值在存储库的特定 url 中被替换,以便能够下载一个 .zip,当它被自动下载时,会在输入它的地方创建一个文件夹并解压,例如:
随机给定两个githuburls:
https://github.com/exercism/python/archive/refs/heads/bobahop-patch-1.zip
https://github.com/exercism/python/archive/refs/heads/bobahop-patch-2.zip
用户可以通过控制台输入“patch-1”或“patch-2”,这个值将在 url 中被替换,然后 link 将被执行并且 .它包含的 zip 将被下载到存储库。同时,将创建一个任意名称的文件夹(例如,用户在控制台中输入的值)并将下载的 .zip 文件移动到该文件夹,然后解压缩。
Python 有
- 标准模块
urllib
到get/download来自网页的数据urllib.request.urlretrieve()
- 标准模块
os
创建文件夹 os.makedirs()
和 move/rename 文件 os.rename()
- 标准模块
zipfile
到compress/uncompress.zip
文件
import os
import urllib.request
import zipfile
#user_input = input("What to download: ")
user_input = 'patch-1'
pattern = 'https://github.com/exercism/python/archive/refs/heads/bobahop-{}.zip'
url = pattern.format(user_input)
filename = f"{user_input}.zip"
print('From:', url)
print(' To:', filename)
urllib.request.urlretrieve(url, filename)
# ---
destination_folder = user_input
print('Create folder:', destination_folder)
os.makedirs(destination_folder, exist_ok=True)
# ---
print('Uncompress')
zip_file = zipfile.ZipFile(filename)
zip_file.extractall(destination_folder)
# ---
print("Move .zip to folder")
old_name = filename
new_name = os.path.join(destination_folder, filename)
os.rename(old_name, new_name)
如何使 python 中的脚本通过用户通过控制台在输入中输入的值在存储库的特定 url 中被替换,以便能够下载一个 .zip,当它被自动下载时,会在输入它的地方创建一个文件夹并解压,例如:
随机给定两个githuburls:
https://github.com/exercism/python/archive/refs/heads/bobahop-patch-1.zip
https://github.com/exercism/python/archive/refs/heads/bobahop-patch-2.zip
用户可以通过控制台输入“patch-1”或“patch-2”,这个值将在 url 中被替换,然后 link 将被执行并且 .它包含的 zip 将被下载到存储库。同时,将创建一个任意名称的文件夹(例如,用户在控制台中输入的值)并将下载的 .zip 文件移动到该文件夹,然后解压缩。
Python 有
- 标准模块
urllib
到get/download来自网页的数据urllib.request.urlretrieve()
- 标准模块
os
创建文件夹os.makedirs()
和 move/rename 文件os.rename()
- 标准模块
zipfile
到compress/uncompress.zip
文件
import os
import urllib.request
import zipfile
#user_input = input("What to download: ")
user_input = 'patch-1'
pattern = 'https://github.com/exercism/python/archive/refs/heads/bobahop-{}.zip'
url = pattern.format(user_input)
filename = f"{user_input}.zip"
print('From:', url)
print(' To:', filename)
urllib.request.urlretrieve(url, filename)
# ---
destination_folder = user_input
print('Create folder:', destination_folder)
os.makedirs(destination_folder, exist_ok=True)
# ---
print('Uncompress')
zip_file = zipfile.ZipFile(filename)
zip_file.extractall(destination_folder)
# ---
print("Move .zip to folder")
old_name = filename
new_name = os.path.join(destination_folder, filename)
os.rename(old_name, new_name)