技术分享1 分钟阅读
Python 命令行工具开发
命令行工具是一种轻量小工具,比如说python中的pip命令,命令行工具之所以受欢迎,是因为它们具有高度的可定制性和灵活性。通过编写脚本或命令序列,用户可以自动化执行一系列任务,从而提高工作效率。
使用Python库:
argparse
argparse是 Python 中的一个标准库,用于编写用户友好的命令行接口。通过 argparse,开发者可以轻松地定义命令行选项、参数和子命令,从而为用户提供灵活且强大的命令行工具。
简单示例
实现一个命令行小工具,输入—name 小明
控制台输出:你好,小明!
新建py文件,test.py
import argparse
def main():
# 创建ArgumentParser对象
parser = argparse.ArgumentParser(description='这是一个简单的命令行工具示例')
# 添加参数,例如添加一个名为--name的可选参数
parser.add_argument('--name', type=str, help='你的名字')
# 解析命令行参数
args = parser.parse_args()
# 使用解析后的参数
if args.name:
print(f"你好,{args.name}!")
else:
print("你好,没有提供名字!")
# 当作为脚本运行时调用main函数
if __name__ == '__main__':
main()工具使用
python .\test.py --name 小明
#执行结果
#你好,小明!结合上面的实现一个阿里云盘命令行简单的上传下载工具
使用三方库:aligo
创建alyun.py
import argparse
from aligo import Aligo
import os
def main():
# 创建ArgumentParser对象
parser = argparse.ArgumentParser(description='这是一个简单的命令行工具示例')
ali = Aligo()
# 添加参数,例如添加一个名为--name的可选参数
parser.add_argument('--check', type=str, help='查看对应路径列表数据')
parser.add_argument('--get', type=str, help='下载的根据输入文件完整path,如:a/test.text')
parser.add_argument('--put', type=str, help='上传文件的根据输入文件完整path,如:a/test.text,上传到api路径')
# 解析命令行参数
args = parser.parse_args()
# 使用解析后的参数
if args.check:
remote_folder = ali.get_folder_by_path(args.check)
file_list = ali.get_file_list(parent_file_id=remote_folder.file_id)
for file in file_list:
print(file)
if args.get:
file = ali.get_file_by_path(args.get)
local_folder = os.getcwd()
if file.type == 'file':
ali.download_file(file=file, local_folder=local_folder)
else:
ali.download_folder(file.file_id, local_folder=local_folder)
if args.put:
remote_folder = ali.get_folder_by_path('api')
ali.upload_files(file_paths=[args.put], parent_file_id=remote_folder.file_id)
# 当作为脚本运行时调用main函数
if __name__ == '__main__':
main()有关使用上的问题,欢迎您在底部评论区留言,一起交流~
读者评论
评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。
暂无评论,欢迎抢沙发。