首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python3 初学实践案例(12)将源目录中的图片根据设定最长边参数保存到目标目录脚本(Image 的使用)

那我们就需要对这些图片进行压缩的处理,这就是我写的这个脚本的实际用途。...关键问题是算法,例如,我要求图片最长边为 400px,那么理想情况下,处理的状态应该是: 源图片尺寸为 800*600,则缩放后结果是 400*300 源图片尺寸为 600*800,则缩放后结果是 300...好,如果我文字描述不足以让你理解,通过上面的详细举例,我相信应该能理解我的意图了。 最终实现源码 #!...正常以及报错状态 代码解析 首先,要写命令行的脚本,就需要处理各种各样的参数,所以,argparse 库是必不可少的。...关于这个库的使用,可以看下我学习 python 的第三篇博文的详细介绍《argparse 命令行参数库的使用》 ,这里我就不详细说明了。

70610

Python3 将源目录中的图片根据设定最长边参数保存到目标目录脚本(Image 的使用)

关键问题是算法,例如,我要求图片最长边为 400px,那么理想情况下,处理的状态应该是: 源图片尺寸为 800*600,则缩放后结果是 400*300 源图片尺寸为 600*800,则缩放后结果是 300...好,如果我文字描述不足以让你理解,通过上面的详细举例,我相信应该能理解我的意图了。 最终实现源码 #!...脚本会提示目标目录不存在,直接回车,或者输入 Y 或 y 则会创建这个目录,输入 N 或者 n 则退出程序。 正常以及报错状态 ?...代码解析 首先,要写命令行的脚本,就需要处理各种各样的参数,所以,argparse 库是必不可少的 Python os 库对文件夹的常见用法 # 判断目录是否存在 os.path.exists(__dir...__) # 判断文件是否存在 os.path.isfile(__file__) # 判断路径是否为文件夹 os.path.isdir(__path__) # 创建多层文件夹(也可以创建单层文件夹) os.makedirs

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python3 初学实践案例(3)argparse 命令行参数库的使用

    最终我选择了自带的比较新的 argparse 库。还有第三方的更简洁的库,不过我没有使用。...官方的代码如下: parser = argparse.ArgumentParser(description='这里写点描述信息') 我不太喜欢这种写法。于是,我是这样写的。...就可以使这个参数是选填的。它还有其他的值,可以参考官方文档。我这里使用问号表示可以接收0个(也就是不填)或者1个(也就是可以填)值。...打印帮助信息 我们在程序后面加上 -h 这个参数,就可以得到一个我们的程序的详细的帮助信息。这个是 argparse 自带的牛逼功能。省得我们自己去构建帮助信息,我表示非常喜欢。...其实, argparse 内置了一些方法,可以很方便的让我们调用帮助信息 # 打印 usage parser.print_usage() # 打印完整的 help 信息 parser.print_help

    1.6K90

    Python-argparse模块

    最近在GitHub上欣赏别人写的代码,发现一个常用的模块–argparse,居然我到现在才知道,简直是罪过,于是马上开始了这个模块用法的学习,这样后面我在写的时候就可以摈弃input()函数来交互了。...argparse模块的功能 该模块可以在命令模式下完成使用者与程序之间的参数交互,并且这个模块会自动生成help菜单,让使用者可以通过 -h|–help查看程序的使用方法等。...| True | 是否使能显示参数 `-h --help` | | allow_abbrev | True...| | dest | 设置help中显示的参数名和名字空间中的属性值名 |...实列 这里贴出我写的简单列子来辅助说明该模块的使用方法 # author:Tommonkey # date:2022/5/4 import sys import argparse def arg_parse

    47720

    argparse------用于命令行选项、参数和子命令的解析器

    - 要在参数help之前显示的文本(默认值:none) epilog - 参数help(默认:none)之后显示的文本 parents - ArgumentParser对象的列表,其中也应该包含参数...required - 是否可以省略命令行选项(仅限选项)。 help - 一个简短的描述什么论点做。 metavar - 使用消息中参数的名称。...='count') >>> parser.parse_args(['-vvv']) Namespace(verbose=3) 'help' - 这将为当前解析器中的所有选项打印完整的帮助消息,然后退出...help - 帮助输出中的子解析器组的帮助,默认为None。 metavar - 在帮助中显示可用子命令的字符串;默认情况下,它是None,并以{cmd1, cmd2, ..}的形式显示子命令。...return arg_line.split()Exiting methodsArgumentParser.exit(status=0, message=None)此方法终止程序,以指定的状态退出

    7K20

    Python 的 argparse 模块的作用,以及分享一个通用代码模板

    使用 argparse 模块,可以轻松编写用户友好的命令行界面。程序定义了它需要的参数,argparse 就会找出如何从 sys.argv 中解析出这些参数。...argparse 模块还会自动生成帮助和使用信息。如果用户传入无效的参数,argparse 会显示错误消息,帮助用户正确使用程序。...help:参数的帮助信息。当用户请求帮助时,这个描述会显示在命令行用法字符串和各种参数的帮助消息之间。编写清晰、简洁的帮助信息对用户非常重要。 default:如果用户未提供某个参数,将使用默认值。...如果传入的参数不符合预定义的规则(例如,缺少必需的参数或者参数格式不正确),它会自动显示错误信息并退出程序。...您可以创建用户友好的命令行接口,使我们的 Python 脚本更易于使用和管理。 灵活性:通过使用 argparse,我们可以轻松地解析命令行参数。

    21400

    python 模块argparse用法实

    argparse是python内置模块,用于快速创建命令行。有一个第三方模块Click也可以实现这个功能,两者各有优缺点,看个人需求吧。... epilog - 命令行帮助的结尾文字   prog - (default: sys.argv[0])程序的名字,一般不需要修改,另外,如果你需要在help中使用到程序的名字,可以使用%(prog)...例如,如果fromfile_prefix_chars='@',命令行参数中有一个为"@args.txt",args.txt的内容会作为命令行参数  add_help - 是否增加-h/-help选项(default...means")     type : 默认string  add_argument("c", type=int)     metavar: 参数的名字,在显示 帮助信息时才用到.    ...count: 统计参数简写输入的个数  add_argument("-c", "--gc", action="count")         version 输出版本信息然后退出。

    47310

    我写了一个开源工具, 让Github的README.md可以正常显示超大图片

    最终效果对比 图片替换前: 图片显示有好有坏,能否显示,全凭运气 ? 图片替换后: 所有大图正常显示! ?..., 我们可以往README.md中插入一些图片 但Github会对README.md中的站外图片会进行地址转换,如果图片尺寸很小,这种转换完全没有问题, 但如果图片尺寸稍大, github的只能转换出半张图...将图片上传的到github即可! 我们可以将README.md中的图片存储到仓库根目录的README文件夹, 然后用图片在github的url, 替换原有的图片链接....我分析了一下github 仓库中包含图片的url的规则 https://raw.githubusercontent.com/ + 用户名 + / + 仓库名 + /master/ + 相对仓库根目录的文件夹路径...raw.githubusercontent.com/zhaoolee/EasyTypora/master/README/1610212776529GNazs3pP.gif 但是手工替换所有的图片太累了, 于是我写了一个自动化的程序

    1.3K20

    Python中的参数传递与解析

    来解析选项和参数 argparse模块功能更加强大,例如可以自动生成help文档等,使用起来也更加简便,只需要三个步骤即可。...,默认为空 epilog: epilog指定的字符串将会显示在帮助文档的最后 parents: 一个 ArgumentParser对象的列表,这些对象的选项和参数也会被继承 add_help: 添加-h.../arg_parse.py -v --verbose -v 3 'help': 当出现这个选项时,程序打印help文档然后退出。...type指定参数的类型,可以是任何python内建的数据类型如int等,也可以是自定义的类型转换函数的函数名。例如: $ cat ./arg_parse.py #!...this help message and exit -f foo_arg, --foo foo_arg dest可以修改存储参数的属性名,例如: $ cat arg_parse.py #!

    2.1K70

    一周AI最火论文 | 模型是否遗忘了我删除的数据?这个算法可以评估!

    本周关键词:新冠数据、无监督学习、3D人脸检测 本周最火学术研究 一种评估机器学习模型是否遗忘了数据的方法 考虑以下场景:有几个提供者,正计划为开发深度学习模型来解决分类任务提供数据。...突然,提供者之一决定离开并要求删除数据,但更大的问题是,怎么确保该模型“忘记”这份数据。 在本文中,研究人员首次提出了一个具有挑战性的问题:模型是否忘记了数据?...2.提供一种可用于检测模型是否忘记了特定数据的解决方案,包括当数据源有重叠时这样具有挑战性的情况 研究人员将该方法用在了自动心脏诊断挑战赛(ACDC)的中一个心脏病理学的诊断任务上,并试验了几种基准数据集...Python框架,可以解决无人监督的机器学习任务。...这些精美的3D面部模型可以表示为适用于粗糙的形状表示的3D可变形模型,还可以表示为用于详细的几何形状的位移图。

    97310

    Python实现MySQL DBA小工具

    在我们日常维护和优化中,我们需要持续的跟踪某些状态值的的变化(增量或者是平均值);或者是在调整某些参数后,观察某些状态值的变化是否符合我们预期等等。  ...这里我本来想做一个比较完美的命令,大家拿来即用,但是应为show status里的状态值太多了,我不用也没必要在脚本里包含所有的。... import ArgumentParser,RawTextHelpFormatter import pymysql #---------- #定义每种显示类型(由-t指定)所包含的状态 #添加和修改要展示的信息修改...interval time(unit=second,default 10s)",default=10,type=int)     #--average表示是否查看平均值,默认显示差值    action...关于MySQL show status中的各状态,还是建议小伙伴们仔细阅读下官方文档的解释 2. Python编写命令行工具,用argparse模块来生成帮助信息和处理命令行参数还是很方便的。

    93220

    会用python把linux命令写一遍的人,进大厂有多容易?

    的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力呢?...2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。..., help='是否显示隐藏文件') parser.add_argument('-d', '--directory', help='指定显示的目录,如果不指定,默认为当前目录') parser.add_argument..., help='是否递归显示') # 解析参数 args = parser.parse_args() # 拿到directory参数,如果没有传这个参数,为None directory = args.directory

    65830

    Python 命令行之旅:初探 argparse

    今天,继续分享一个优质的系列文章:深入使用 argparse。这个系列属于一个更大的“讲解开源项目系列”,说实话,这是我一直想要写的系列。这方面的文章实在太少见了,而读者也不多。...我觉得不分享出来,会是一种埋没,但愿对大家有启发吧,喵~~ ? 剧照 | 《走出非洲》 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?...是否考虑过由自己实现一个命令行工具,帮你执行和处理任务?是否了解过陪伴在你身边的 Python 有着丰富的库,来帮你轻松打造命令行工具?...通过实例化 argparse.ArgumentParser,给定一些选填参数,我们就可以设置一个解析器: import argparse parser = argparse.ArgumentParser...比如,对于上文中所定义的 nums 参数,我们可以通过解析后的结果中的 accumulate 方法对其进行求最大值或求和(取决于是否提供 --sum 参数)。

    68721

    会用python把linux命令写一遍的人,进大厂有多容易?

    的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力呢?...2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。..., help='是否显示隐藏文件') parser.add_argument('-d', '--directory', help='指定显示的目录,如果不指定,默认为当前目录') parser.add_argument..., help='是否递归显示') # 解析参数 args = parser.parse_args() # 拿到directory参数,如果没有传这个参数,为None directory = args.directory

    61420

    Python笔记:外部参数传入考察(一)argparse库

    类型,同样可以直接传递int或者float等数据类型; 可以给参数传递默认值,也可以设置参数是否为必须,防止因为漏传参数导致的脚本运行错误。...3. argparse参数 现在,我们来考察一下argparse更为细节的一些用法。 1. help内容 在使用argparse库进行参数传递时,我们可以通过help来查询脚本的参数定义。...3. default参数与required参数 argparse库可以为参数设置是否必须以及默认值。 当一个参数被设置为必需时,如果为传入该参数则会发生报错。...但即便如此,这终究是一个较为麻烦的方法,我们还是希望更为直接的可以直接定义bool型,甚至更进一步的,由于bool型本身就只有true和false两种状态,我们更希望可以做到: 当我们传入参数时,设置参数为...后记 上述就是我对于使用argparse库进行参数传递的知识整理,算是结合了我的使用经验再补充上我能想到的一些可能会出现的问题进行的一个较为系统的知识整理。

    4.3K21

    Python3 初学实践案例(4)可设定长度和密码复杂级别的生成密码脚本

    我希望可以做一个更加完善的脚本,就是不但可以设定长度,并且可以设定密码复杂的等级。这样,才能满足我们在不同情况下所需要的密码。 另外,由于密码是在字典中随机取得字符组合在一起的。...好,设定我的程序的目标: 随机生成一个密码 可以指定密码的长度 可以指定密码的复杂等级 简单:由纯数字组成 一般:数字+小写字母+大写字母 复杂:数字+小写字母+大写字母+标点符号 密码必须符合指定的复杂等级才输出...由于之前我已经学习了 argparse 命令行参数处理的库,《argparse 命令行参数库的使用》,所以处理命令行参数对于我来说变得异常简单,我配置好之后,只需要把努力全部放在逻辑处理上即可。...return res # 取得密码函数 def getPassword(leng,level,dicts): res = passwordMaker(leng, dicts) # 检查密码是否符合期望的条件...反正我使用 [:punct:] 没能实现我的想法。希望有高人指点呀。 好吧,总结到这里。

    637100

    python的argparse模块

    argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。...argparse使用比较简单,常用的功能可能较快地实现出来,下面我分几个步骤,以Python3为例,逐渐递增地讲述argparse的用法。1....argparser包,然后通过argparser.ArgumentParser函数生成argparser对象,其中这个函数的description函数表示在命令行显示帮助信息的时候,这个程序的描述信息。...的方式得到我们设置的--name参数的值,可以看到这里argparse默认的参数名就是--name形式里面--后面的字符串。...arch参数resnet不在备选的choices之中,所以会报错6. help:指定参数的说明信息在现实帮助信息的时候,help参数的值可以给使用工具的人提供该参数是用来设置什么的说明,对于大型的项目,

    1.2K20

    如何利用Python学习linux命令?

    没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力呢?...使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。..., help='是否显示隐藏文件') parser.add_argument('-d', '--directory', help='指定显示的目录,如果不指定,默认为当前目录') parser.add_argument..., help='是否递归显示') # 解析参数 args = parser.parse_args() # 拿到directory参数,如果没有传这个参数,为None directory = args.directory

    81510
    领券