首页 > 编程语言 >python 命令行参数解析

python 命令行参数解析

时间:2024-09-06 10:16:20浏览次数:12  
标签:name python self parser locations 命令行 import 解析 os

追加参数

python example.py NewYork LosAngeles Chicago

给参数申明 分配内存

Locations: ['NewYork', 'LosAngeles', 'Chicago']

具体实现

import argparse

parser = argparse.ArgumentParser(description='Process some locations.')
parser.add_argument('locations', nargs='+', type=str, help='A list of locations')

args = parser.parse_args()

print('Locations:', args.locations)

diango

from django.core.management import BaseCommand, CommandParser
import os
from apps.core.utils import DicomSaver
from apps.core.models import Patient, Instance


class Command(BaseCommand):
    help = "Store DICOM files"

    def _store(self, name):
        if not os.path.exists(name):
            return
        if os.path.isfile(name) and (name.endswith('.dicom') or name.endswith('.dcm')):
            DicomSaver.save(name)
            self.stdout.write('%s stored' % name)
        elif os.path.isdir(name):
            files = [os.path.join(name, f) for f in os.listdir(name)]
            for f in files:
                self._store(f)
        return

    def add_arguments(self, parser: CommandParser):
        parser.add_argument('locations', nargs='+', type=str)
        parser.add_argument('--clear', action='store_true', dest='clear',
                            help='Clear database')

    def handle(self, *args, **options):

        if options.get('clear', False):
            self.stdout.write('Clear database')
            for instance in Instance.objects.all():
                instance.image.delete()
                instance.delete()
            Patient.objects.all().delete()

        for name in options['locations']:
            self._store(name)
        self.stdout.write('Completed!')

标签:name,python,self,parser,locations,命令行,import,解析,os
From: https://www.cnblogs.com/guanchaoguo/p/18399709

相关文章

  • Python
    Python安装HelloWorldprint("HelloWorld")基础字面量:代码中被写下来固定的值,数字:Number整数int浮点数float复数complex布尔bool字符串:String(双引号)列表:List元组:Tuple集合:Set字典:Dictionary注释单行注释#开头#我是注释print("HelloWorld")......
  • Python开发实例(30)文件搜索工具:创建一个程序,允许用户在指定目录下搜索文件
    创建一个文件搜索工具是一个非常有用的项目,它可以帮助用户在指定目录下查找文件。以下是一个基本的文件搜索工具示例,它使用Python的os库来进行文件搜索。importosdefsearch_files(directory,filename):found_files=[]forroot,_,filesinos.walk(director......
  • Flask:Python轻量级Web框架详解
    Flask是一个用Python编写的轻量级Web应用框架。它被设计为易于使用和扩展,非常适合小型项目和微服务,同时也能够支持大型应用。Flask依赖于少量的外部库,并且提供了一个简单的方式来创建Web应用。Flask的主要特点轻量级:Flask核心非常简单,使得它易于理解和扩展。扩展性:Flask可......
  • Python异步编程:asyncio库详解
    \asyncio是Python的标准库,用于编写单线程的并发代码。它使用async和await语法来定义和调用异步函数,使得I/O密集型程序能够更有效地使用资源。asyncio的主要特点事件循环:asyncio程序由事件循环驱动,它负责调度协程的执行。协程:使用async定义的异步函数被称为协程。任务:asyn......
  • Python批量采集某东评论,实现可视化分析
    女朋友没事就喜欢网购,买一大堆又不用,总说不合适,为了不让她花冤枉钱,于是我决定用Python写一个采集商品评论的脚本,然后对商品进行分析,这样就不怕踩到坑了!  让我们直接开始本次操作准备工作环境安装Python3.10Pycharm模块使用采集数据模块-DrissionPage->pipinsta......
  • Python使用MySQL数据库
    安装MySQL-python要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。下载地址:https://pypi.python.org/pypi/MySQL-python/下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:>>python setup.py install ......
  • Vue 中的 Vuex:全面解析与使用教程
    什么是Vuex?Vuex是Vue.js官方提供的状态管理模式,专为Vue.js应用设计。它通过集中式存储管理应用中所有的组件状态,允许组件之间更方便地共享数据,并提供了一套规则来确保状态以可预测的方式发生变化。Vuex对大型应用尤其有用,因为它将组件中的状态提取到外部,并通过全局状......
  • python 深/浅拷贝及其区别
    概述1、什么是浅拷贝?浅拷贝是指创建一个新的数据结构对象,该对象是原始数据结构的副本,但不复制原始数据结构中的嵌套对象的引用。浅拷贝可以通过各种方式完成,如切片、工厂函数或copy模块的copy方法。2、什么是深拷贝?深拷贝是指创建一个新的数据结构对象,该对象是原始数据结构及......
  • python 实现perfect square完全平方数算法
    python实现perfectsquare完全平方数算法介绍完全平方数(PerfectSquare)是一个整数,它可以表示为某个整数的平方。例如,1,4,9,16,25,…都是完全平方数,因为1=......
  • python 实现matrix exponentiation矩阵求幂算法
    matrixexponentiation矩阵求幂算法介绍矩阵求幂算法(MatrixExponentiation)是一种通过利用矩阵乘法的结合律来高效地计算矩阵的幂的算法。这种方法特别适用于在算法竞赛和计算机科学领域中解决需要快速计算矩阵幂的问题,如求解线性递推关系、图论中的路径计数等。基本思想......