精华内容
下载资源
问答
  • Python提供了多个内置模块用于操作日期时间,像 calendar,time,datetime。time模块提供的接口与C标准库 time.h 基本一致。相比于 time 模块,datetime模块的接口则更直观、更容易调用。 模块定义了两个常量: • ...

    Python datetime模块参考手册

    Python提供了多个内置模块用于操作日期时间,像 calendar,time,datetime。time模块提供的接口与C标准库 time.h 基本一致。相比于 time 模块,datetime模块的接口则更直观、更容易调用。

    模块定义了两个常量:

    • datetime.MINYEAR
    • datetime.MAXYEAR

    这两个常量分别表示 datetime 所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。

    datetime 模块定义了下面这几个类:
    • datetime.date:表示日期的类。常用的属性有year, month, day;

    datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;

    • datetime.datetime:表示日期时间。• datetime.timedelta:表示时间间隔,即两个时间点之间的长度。

    • datetime.tzinfo:与时区有关的相关信息。

    注:以上列举的这些类型的对象都是不可变(immutable)的。

    date 类
    date 类表示一个日期(由年、月、日组成),其原型如下:

    class datetime.date(year, month, day)

    参数说明:

    • year 的范围是 [MINYEAR, MAXYEAR],即 [1, 9999];

    • month 的范围是[1, 12]。(月份是从1开始的,不是从0开始);

    • day 的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

    date 类定义了一些常用的类方法与类属性:
    • date.max、date.min:date对象所能表示的最大、最小日期;

    • date.resolution:date对象表示日期的最小单位。这里是天。

    **• date.today():**返回一个表示当前本地日期的 date 对象;
    **• date.fromtimestamp(timestamp):**根据给定的时间戮,返回一个 date 对象;

    • datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar:一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)

    使用示例:

    datetime.date.maxdatetime.date(9999, 12, 31)>>> datetime.date.mindatetime.date(1, 1, 1)>>> datetime.date.resolutiondatetime.timedelta(1)>>> datetime.date.today()datetime.date(2016, 5, 12)>>> datetime.date.fromtimestamp(time.time())datetime.date(2016, 5, 12)

    date提供的实例方法和属性:
    **• date.year、date.month、date.day:**年、月、日;

    **• date.replace(year, month, day):**生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)

    • date.timetuple():返回日期对应的time.struct_time对象;

    • date.toordinal():返回日期对应的Gregorian Calendar日期;
    • date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;• data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;

    • date.isocalendar():返回格式如(year,month,day)的元组;

    • date.isoformat();返回格式如’YYYY-MM-DD’的字符串;

    • date.strftime(fmt):自定义格式化字符串。

    使用示例:

    today = datetime.date.today()>>> today.year2016>>> today.month5>>> today.day12>>> tomorrow = today.replace(day=13)>>> tomorrowdatetime.date(2016, 5, 13)>>> tomorrow.timetuple()time.struct_time(tm_year=2016, tm_mon=5, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=134, tm_isdst=-1)>>> tomorrow.toordinal()736097>>> tomorrow.weekday()4>>> tomorrow.isoweekday()5>>> tomorrow.isocalendar()(2016, 19, 5)>>> tomorrow.isoformat()‘2016-05-13’>>> tomorrow.strftime("%y-%m-%d")‘16-05-13’

    date 重载了简单的运算符:
    date 允许对日期进行加减和比较:

    • date2 = date1 + timedelta:

    日期加上一个间隔,返回一个新的日期对象

    • date2 = date1 - timedelta:

    日期隔去间隔,返回一个新的日期对象• timedelta = date1 - date2:

    两个日期相减,返回一个时间间隔对象

    • date1 < date2:

    两个日期进行比较。

    使用示例:

    now = datetime.date.today()>>> nowdatetime.date(2016, 5, 12)>>> now += datetime.date.resolution>>> nowdatetime.date(2016, 5, 13)>>> now -= datetime.date.resolution>>> nowdatetime.date(2016, 5, 12)>>> now < datetime.date.maxTrue

    展开全文
  • Python提供了多个内置模块用于操作日期时间,像 calendar,time,datetime。time模块提供的接口与C标准库 time.h 基本一致。相比于 time 模块,datetime模块的接口则更直观、更容易调用。 模块定义了两个常量: ...
  • python argparse模块

    2020-09-16 15:54:37
    argparse模块python内置的一个模块,用于编写命令工具和参数解析,可以轻松编写用户友好的命令行接口。通过程序定义需要的参数,然后argparse将弄清如何从sys.argv解析出这些参数。argparse模块还会自动生成帮助...

    一、模块介绍

           argparse模块是python内置的一个模块,用于编写命令工具和参数解析,可以轻松编写用户友好的命令行接口。通过程序定义需要的参数,然后argparse将弄清如何从sys.argv解析出这些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

     

    二、使用流程

    1. 导入argparse模块
    2. 创建ArgmentParser()对象
    3. 调用add_argument()方法添加参数
    4. 使用parse_args()解析添加的参数

     

            一个简单的例子如下:

    # 导包
    import argparse
    
    # 创建解析器对象
    parse = argparse.ArgumentParser()
    
    # 添加参数
    parse.add_argument("e")
    
    # 解析参数
    args = parse.parse_args()
    print(args.e)

    通过在命令行输入:python argparse_use_test.py -h查看结果:

     

    三、位置参数

            位置参数不带-或者--,按照顺序进行解析,在命令中必须出现,否则报错:

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser() 
    
    # 添加位置参数 
    parse.add_argument("e") 
    
    # 解析参数 
    args = parse.parse_args() 
    print(args.e)

            通过在命令行输入:python argparse_use_test.py -h查看结果:

     

    四、可选参数

            不影响位置参数的解析顺序。前缀--是长参数,前缀是-是短参数。

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser() 
    
    # 添加参数 
    parse.add_argument("-a", "--A", action="store_true", help="input a number") 
    
    # 解析参数 
    args = parse.parse_args() 
    print(args.a)

            通过在命令行输入:python argparse_use_test.py -h查看结果:

     

    五、参数类型

            默认的参数类型为str,如果要进行数学计算,需要在参数进行解析后进行类型转换,如果不转换就会报错。

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser() 
    
    # 添加参数 
    parse.add_argument("a", type=int, help="input a number") 
    
    # 解析参数 
    args = parse.parse_args() 
    y = args.a 
    answer = y+5
    print(answer)

            通过设置位置参数(使用可选参数注意是选用长参数名)为int类型,然后进行计算,运行命令python argment_use_test.py 2,结果显示:

     

    六、可选值

           通过choices选项控制参数的值在固定的范围内。如下限定了可选参数b的取值范围在0,1,2之间:

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser() 
    
    # 添加参数 
    parse.add_argument("-b", "--B", type=int, help="input a number",choices=[0,1,2]) 
    
    # 解析参数 
    args = parse.parse_args() 
    y = args.B 
    answer = y+5 
    print(answer)

            命令行运行python argparse_use_test.py -b 2,其结果如下所示:

     

    七、程序用法帮助

            通过在创建解析器对象时添加参数description,设置程序的用法帮助,如下代码添加使用说明“this is a simple test about argparse .”:

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser(description="this is simple test about argparse .") 
    
    # 添加参数 
    parse.add_argument("-b", "--B", type=int, help="input a number",choices=[0,1,2]) 
    
    # 解析参数 
    args = parse.parse_args() 
    y = args.B 
    answer = y+5 
    print(answer)

            通过命令`python argparse_test.py -h`查看该程序的使用帮助,如下图:

     

    八、互斥参数

            通过定义互斥组来添加互斥参数,互斥组内的参数不可以同时出现,只能选择其一。比如,设置参数`--quiet`不打印过程直接输出结果,设置参数`--verbose`打印过程然后输出结果,要么选择功能打印过程的方式输出结果要么选择不打印过程的方式输出结果,二者为互斥参数。下面例子定义了两个位置参数x和y,计算x的y次方,并设置-v和-q两个可选参数,代码如下:

    import argparse 
    
    # 创建解析器对象 
    parse = argparse.ArgumentParser(description="calculate X to the power of Y.") 
    
    # 添加参数 
    parse.add_argument("x",type=int, help="the base") 
    parse.add_argument("y", type=int, help="the expoent") 
    
    # 添加互斥组 
    group = parse.add_mutually_exclusive_group() 
    group.add_argument("-v", "--verbose", action="store_true") 
    group.add_argument("-q", "--quiet", action="store_true") 
    
    # 解析参数 
    args = parse.parse_args() 
    
    # 计算 
    answer = args.x**args.y 
    if args.quiet: 
        print(answer) 
    elif args.verbose: 
        print('{} to power {} equal {}'.format(args.x, args.y, answer)) 
    else: 
        print('{}^{}={}'.format(args.x, args.y, answer))

           下图分别演示了使用帮助、使用-v参数执行命令、使用-q参数执行命令、不使用参数执行命令以及同时使用两个互斥参数执行命令:

     

    九、参数默认值

             通过在添加参数时,设置函数内default参数的值来设置参数的默认值。下面例子设置了可选参数-v,并设置了其默认值为1。

    import argparse 
    
    # 创建解析器件对象 
    parser = argparse.ArgumentParser(description="this is a simple test about default argument'value") 
    
    # 添加参数 
    parser.add_argument("square", type=int, help="display a square of a given number") 
    parser.add_argument("-v", "--verbose", type=int, choices=[0,1,2], default=1, help="increase output verbose") 
    
    # 解析参数 
    args = parser.parse_args() 
    
    # 计算 
    answer = args.square**2 
    if args.verbose == 2: 
        print('the square of {} equals {}'.format(args.square, answer)) 
    elif args.verbose == 1: 
        print('{}^2 == {}'.format(args.square, answer)) 
    else: 
        print(answer)

            由下图可知,在不设置-v参数的值时,默认-v参数的值为1,输出“{}^{} == {}”形式。

     

    十、子解析器

            子解析器存在的作用类似于对一系列的功能进行分类管理,通过设置子解析器可以使得程序的参数看起来不那么繁琐,也便于直观理解、学习和使用。首先需要添加一个父解析器,然后创建不同的子解析器。子解析器与解析器一样,可以添加位置参数、可选参数等等。下面例子实现了添加两个子解析器,分别为create和delete,然后子解析器进行参数添加。

    import argparse 
    
    # 创建解析器对象 
    parser = argparse.ArgumentParser(description="this is a simple test about subparser") 
    
    # 添加父解析器 
    subparser = parser.add_subparsers(help='commands') 
    
    # 添加子解析器1 
    create_parser = subparser.add_parser('create', help='create a directory') 
    create_parser.add_argument('dirname', action='store', help='new firectory to create') 
    
    # 添加子解析器2 
    delete_parser = subparser.add_parser('delete', help='delete a directory') 
    delete_parser.add_argument('dirname', action='store', help='the directory to remove') 
    delete_parser.add_argument('--recursive', '-r', default=False, action='store_true', help='recurseively remove the directory') 
    
    # 解析参数 
    print(parser.parse_args())

            下图先是演示了显示程序参数选项,再是显示子参数delete下的参数:

     

     

    参考资料:

    1、python argparse用法总结

    2、Python 命令行之旅:深入 argparse(二)

     

    展开全文
  • Python3.5.2中文手册

    2018-01-26 14:27:49
    Python学习手册(第3版).pdf本书包括:  类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。  语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。  函数——...
  • Python 语言参考手册

    2009-05-06 15:10:45
    那些非基本的内置对象类型、内置函数和模块的语义在《Python 库参考》中进行描述。对于语言的浅显介绍,可以看《Python 入门手册》. 对于C和C++程序员, 有两个文档可供参考:《扩展和嵌入Python解释器》是对Python...
  • argparse 模块Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。...

    argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

    1.使用示例

    parser = argparse.ArgumentParser(description=None)
    parser.add_argument('--in', type=str, dest='input', required=True,
                            help='Input audio .wav file, at {fs}Hz'.format(fs=Fs))
    parser.add_argument('--imp', type=str, dest='impulse', nargs='+', required=True,
                            help='Input impulse response .wav file, at {fs}Hz'.format(fs=Fs))
    args = parser.parse_args()
    

    2.使用argparse的三个步骤

    1.创建一个解析器——创建ArgumentParser()对象
    通常将参数设为none即可

    parser = argparse.ArgumentParser(description=None)
    

    2.添加参数——调用add.argument方法添加参数
    给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。
    ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

    每个参数解释如下:
    name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo。
    default - 不指定参数时的默认值。
    type - 命令行参数应该被转换成的类型。
    required - 可选参数是否可以省略 (仅针对可选参数)。
    help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.
    dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.

    parser.add_argument('--in', type=str, dest='input', required=True,
                            help='Input audio .wav file, at {fs}Hz'.format(fs=Fs))
    

    3.解析参数——使用parse.args()解析添加的参数

    ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作。在大多数情况下,这意味着一个简单的 Namespace 对象将从命令行解析出的属性构建:

    args = parser.parse_args()
    
    
    展开全文
  • Python技术手册

    2018-06-20 14:30:46
    书中详细介绍了python开发工具的安装和使用、python语言的语法结构、python内置对象、库和模块以及python与其他语言的扩展和嵌入,并专门介绍了有关python网络和web编程的内容和实例。本书列举了python对象和模块中...
  • python学习手册

    2017-11-25 22:12:20
    , 《Python学习手册(第3版)》包括:, 类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。, 语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。, 函数——Python...
  • Python学习手册

    2017-11-24 17:44:47
    , 《Python学习手册(第3版)》包括:, 类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。, 语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。, 函数——Python...
  • 欢迎关注”生信修炼手册”!python内置模块sys,提供了系统相关的一些变量和函数,在实际开发中,常见的有以下几种用法1.获取操作系统信息>>> import s...

    欢迎关注”生信修炼手册”!

    python的内置模块sys,提供了系统相关的一些变量和函数,在实际开发中,常见的有以下几种用法

    1. 获取操作系统信息

    >>> import sys
    # 在window上执行
    >>> sys.platform
    'win32'
    
    
    # 在linux上执行
    >>> sys.platform
    'linux2'
    

    经典的使用场景, 针对只适用于linux平台的代码,通过sys来判断当前操作系统是否符合要求。

    2. 获取python版本信息

    >>> sys.version
    '3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]'
    >>> sys.version_info
    sys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)
    >>> ver = sys.version_info
    >>> ver.major
    3
    >>> ver.minor
    8
    >>> ver.micro
    2
    

    对于python版本有限制的代码,可以通过以上方法来判断python版本是否符合要求。

    3. 获取编码方式

    >>> sys.getdefaultencoding()
    'utf-8'
    

    在python3中,默认的编码方式为utf8, 所以不再需要像python2那样,自己手动设置编码格式为utf-8。

    4. 标准输入,输出和错误流

    sys模块提供了变量来表示标准输入,输出和错误流,列表如下

    1. sys.stdin, 标准输入流

    2. sys.stdout,标准输出流

    3. sys.stderr,标准错误流

    具有文件句柄类似的操作,可以从标准输入流读取信息,向标准输出和标准错误流写入信息,用法如下

    >>> sys.stderr.write('stderr info\n')
    stderr info
    12
    >>> sys.stdout.write('stdout info\n')
    stdout info
    12
    

    5. 中断执行

    可以通过sys.exit函数来中断代码的执行,用法如下

    >>> sys.exit()
    

    该函数也可以添加一个参数,默认为0,表示正常退出,其他参数表示非正常退出,支持用字符串来自定义错误信息。

    6. sys.path

    该变量存储了python寻找模块的路径

    >>> sys.path
    ['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']
    

    可以在代码中动态修改sys.path列表中的元素,已达到成功导入某个模块的目的。

    7. sys.module

    该变量是一个字典,存储了已经导入的模块

    >>> import sys
    >>> sys.modules.keys()
    dict_keys(['abc', '_signal', 'sitecustomize', 'sys', '_collections_abc', '_weakrefset', '_sitebuiltins', '_weakref', 'sysconfig', 'encodings.utf_8', '__main__', 'apport_python_hook', '_sysconfigdata_m', 'posixpath', 'site', 'readline', 'stat', 'encodings', 'encodings.latin_1', 'zipimport', 'encodings.aliases', '_frozen_importlib_external', 'io', '_frozen_importlib', '_imp', 'atexit', 'os', '_stat', '_sysconfigdata', 'os.path', '_codecs', '_thread', 'posix', 'marshal', 'codecs', '_warnings', 'builtins', 'errno', 'genericpath', 'rlcompleter', '_io'])
    

    8. 获取命令行参数

    sys.argv是一个列表, 该列表存储了命令行参数,当采用脚本方式运行时,可以方便的处理命令行参数。假设一个python脚本名为test.py,其中的内容如下

    import sys
    for arg in sys.argv:
        print(arg)
    

    在操作系统中运行该脚本,会打印命令行参数的内容

    > python test.py arg1 arg2
    test.py
    arg1
    arg2
    

    可以看出,sys.argv的第一个元素是脚本的名字,接下来为传递给脚本的命令行参数。对于简单的脚本编程,用这种方式来捕获命令行参数是非常方便的。当然,对于命令行参数的传递,python还有更加强大的内置模块argparse, 在实际开发中也更常用该模块来处理命令行参数,后续在详细介绍其用法。

    ·end·

    —如果喜欢,快分享给你的朋友们吧—

    原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

    本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

      更多精彩

      写在最后

    转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

    扫描下方二维码,关注我们,解锁更多精彩内容!

    一个只分享干货的

    生信公众号

    展开全文
  • Python基本手册

    万次阅读 多人点赞 2016-10-09 18:39:59
    Python基本手册关键词: PythonPython基本手册 常见内置函数 标准库 爬虫 1 GET 2 POST 3 Headers 字符串 模块 1 定义模块 2 常用的字符串方法 列表list 1 列表相关的内置函数 2 列表元素的循环 3 列表切片 4 列表...
  • 欢迎关注”生信修炼手册”!多进程可以有效利用服务器多核CPU的计算资源,加速运行效率,在python中,通过内置模块multiprocessing来进行多进程编程。子进程通过Proces...
  • 模块基本上可以由两个语句和一个重要的内置函数进行处理: import,可以导入整个模块内容 from 从模块中选取要导入的对象 imp.reload 在不终止Python程序的情况下,重新导入模块。 从抽象的视角来看,模块至少有...
  • 模块 什么是模块 模块:就是一系列功能的结合体 ,也可以说 一个.py文件包含了 Python 对象定义和Python语 那么 他就 可以说是 一个模块 模块的三种来源: 1.内置的(python解释器自带)** 2.第三方的 *** 3...
  • Python参考手册

    2018-06-13 19:57:18
    Python的设计哲学是“优雅”、“明确”、“简单。Python用途极广。图形处理:有PIL、Tkinter等图形库支持,能...黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。 用Python写简单爬虫
  • 01.import:使客户端(导入者)以一个整体获取一个模块from:允许客户端从一个模块文件中获取特定的变量名imp.reload:在不中止python程序的情况下,提供了一种重新载入模块文件代码的方法。 02.你将会学到reload、__...
  • 如果需要一个模块的代码通过某种导入后再一次运行,需要使用内置函数reload来实现。 最好使用import直接导入模块,使用from…import 语句导入的变量名可能会有问题。 import导入模块包的语句中的目录路径只能是以...
  • 欢迎关注”生信修炼手册”!python内置的基本数据结构有以下几种listtuplesetdict这些基础的数据结构已经能够满足开发中的大多数需求,但是针对某些特殊场景,用基本的数据结构...
  • python之自定义模块

    2019-01-15 17:49:00
    1.内置模块 2.第三方模块pypi 3.自定义模块 模块的好处又有哪些: 1.拿来就用2.省去开发的时间3.提升效率 4.结构化便于查找 便于修改 便于维护 先上两个硬菜import和from 摘自python学习手册, 用于记录。 ...
  • Python自学手册 前言 Python是一门很有趣且实用的计算机语言Python入门很容易...后10~24课为应用部分使用编辑器编写小段程序掌握常用的python内置函数模块和库 学习建议 编程通俗地讲就是书写处理字符串和数字的代码本
  • 本文主要是看完Python数据科学手册第一章的笔记 IPython是一种交互式的Python开发环境,在数据探索阶段非常有用,下面是对它的用法特性的简单介绍。 1,IPython的帮助和文档 a: 用符号?获取文档,类似于Python的...
  • python手册

    千次阅读 2016-11-16 16:41:22
    写在前面:本文专注于python常见的内置函数、模块、语法,不包括numpy、scipy、pandas等1.utf-8编码# -*- coding: utf-8 -*-2.内存管理import gc del obj #删除对象名 gc.collect()3.文件读取以如下文件为例,文件名...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 140
精华内容 56
关键字:

python内置模块手册

python 订阅