iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python编程中常用的方法有哪些
  • 210
分享到

Python编程中常用的方法有哪些

2023-06-02 03:06:51 210人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python编程中常用的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、正则表达式替换  目标: 将字符串

本篇内容介绍了“python编程中常用的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  1、正则表达式替换

  目标: 将字符串 line 中的 overview.gif 替换成其他字符串

  >>> line = '

  >>> mo=re.compile(r'(?<=SRC=)"([\w+\.]+)"',re.I)

  >>> mo.sub(r'"\1****"',line)

  '

  >>> mo.sub(r'replace_str_\1',line)

  '

  '< /span>

  >>> mo.sub(r'"testetstset"',line)

  '

  注意: 其中 \1 是匹配到的数据,可以通过这样的方式直接引用

  2、遍历目录方法

  在某些时候,我们需要遍历某个目录找出特定的文件列表,可以通过os.walk方法来遍历,非常方便

  import os

  fileList = []

  rootdir = "/data"

  for root, subFolders, files in os.walk(rootdir):

  if '.svn' in subFolders: subFolders.remove('.svn') # 排除特定目录

  for file in files:

  if file.find(".t2t") != -1:# 查找特定扩展名的文件

  file_dir_path = os.path.join(root,file)

  fileList.append(file_dir_path)

  print fileList

  3、列表按列排序(list sort)

  如果列表的每个元素都是一个元组(tuple),我们要根据元组的某列来排序的化,可参考如下方法

  下面例子我们是根据元组的第2列和第3列数据来排序的,而且是倒序(reverse=True)

  >>> a = [('2011-03-17', '2.26', 6429600, '0.0'), ('2011-03-16', '2.26', 12036900, '-3.0'),

  ('2011-03-15', '2.33', 15615500,'-19.1')]

  >>> print a[0][0]

  2011-03-17

  >>> b = sorted(a, key=lambda result: result[1],reverse=True)

  >>> print b

  [('2011-03-15', '2.33', 15615500, '-19.1'), ('2011-03-17', '2.26', 6429600, '0.0'),

  ('2011-03-16', '2.26', 12036900, '-3.0')]

  >>> c = sorted(a, key=lambda result: result[2],reverse=True)

  >>> print c

  [('2011-03-15', '2.33', 15615500, '-19.1'), ('2011-03-16', '2.26', 12036900, '-3.0'),

  ('2011-03-17', '2.26', 6429600, '0.0')]

  4、列表去重(list uniq)

  有时候需要将list中重复的元素删除,就要使用如下方法

  >>> lst= [(1,'sss'),(2,'fsdf'),(1,'sss'),(3,'fd')]

  >>> set(lst)

  set([(2, 'fsdf'), (3, 'fd'), (1, 'sss')])

  >>>

  >>> lst = [1, 1, 3, 4, 4, 5, 6, 7, 6]

  >>> set(lst)

  set([1, 3, 4, 5, 6, 7])

  5、字典排序(dict sort)

  一般来说,我们都是根据字典的key来进行排序,但是我们如果想根据字典的value值来排序,就使用如下方法

  >>> from operator import itemgetter

  >>> aa = {"a":"1","sss":"2","ffdf":'5',"ffff2":'3'}

  >>> sort_aa = sorted(aa.items(),key=itemgetter(1))

  >>> sort_aa

  [('a', '1'), ('sss', '2'), ('ffff2', '3'), ('ffdf', '5')]

  从上面的运行结果看到,按照字典的value值进行排序的

  6、字典,列表,字符串互转

  以下是生成数据库连接字符串,从字典转换到字符串

  >>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}

  >>> ["%s=%s" % (k, v) for k, v in params.items()]

  ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

  >>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])

  'server=mpilgrim;uid=sa;database=master;pwd=secret'

  下面的例子 是将字符串转化为字典

  >>> a = 'server=mpilgrim;uid=sa;database=master;pwd=secret'

  >>> aa = {}

  >>> for i in a.split(';'):aa[i.split('=',1)[0]] = i.split('=',1)[1]

  ...

  >>> aa

  {'pwd': 'secret', 'database': 'master', 'uid': 'sa', 'server': 'mpilgrim'}

  7、时间对象操作

  将时间对象转换成字符串

  >>> import datetime

  >>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M")

  '2011-01-20 14:05'

  时间大小比较

  >>> import time

  >>> t1 = time.strptime('2011-01-20 14:05',"%Y-%m-%d %H:%M")

  >>> t2 = time.strptime('2011-01-20 16:05',"%Y-%m-%d %H:%M")

  >>> t1 > t2

  False

  >>> t1 < t2

  True

  时间差值计算,计算8小时前的时间

  >>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M")

  '2011-01-20 15:02'

  >>> (datetime.datetime.now() - datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M")

  '2011-01-20 07:03'

  将字符串转换成时间对象

  >>> endtime=datetime.datetime.strptime('20100701',"%Y%m%d")

  >>> type(endtime)

  >>> print endtime

  2010-07-01 00:00:00

  将从 1970-01-01 00:00:00 UTC 到现在的秒数,格式化输出

  >>> import time

  >>> a = 1302153828

  >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(a))

  '2011-04-07 13:23:48'

  8、命令行参数解析(getopt)

  通常在编写一些日运维脚本时,需要根据不同的条件,输入不同的命令行选项来实现不同的功能 在Python中提供了getopt模块很好的实现了命令行参数的解析,下面距离说明。请看如下程序:

  #!/usr/bin/env python

  # -*- coding: utf-8 -*-

  import sys,os,getopt

  def usage():

  print '''''

  Usage: analyse_stock.py [options...]

  Options:

  -e : Exchange Name

  -c : User-Defined CateGory Name

  -f : Read stock info from file and save to db

  -d : delete from db by stock code

  -n : stock name

  -s : stock code

  -h : this help info

  test.py -s haha -n "HA Ha"

  '''

  try:

  opts, args = getopt.getopt(sys.argv[1:],'he:c:f:d:n:s:')

  except getopt.GetoptError:

  usage()

  sys.exit()

  if len(opts) == 0:

  usage()

  sys.exit()

  for opt, arg in opts:

  if opt in ('-h', '--help'):

  usage()

  sys.exit()

  elif opt == '-d':

  print "del stock %s" % arg

  elif opt == '-f':

  print "read file %s" % arg

  elif opt == '-c':

  print "user-defined %s " % arg

  elif opt == '-e':

  print "Exchange Name %s" % arg

  elif opt == '-s':

  print "Stock code %s" % arg

  elif opt == '-n':

  print "Stock name %s" % arg

  sys.exit()

  9、print 格式化输出

  9.1、格式化输出字符串

  截取字符串输出,下面例子将只输出字符串的前3个字母>>> str="abcdefg">>> print "%.3s" % str abc按固定宽度输出,不足使用空格补全,下面例子输出宽度为10>>> str="abcdefg">>> print "%10s" % str abcdefg截取字符串,按照固定宽度输出>>> str="abcdefg">>> print "%10.3s" % str abc浮点类型数据位数保留>>> import fpfORMat>>> a= 0.0030000000005>>> b=fpformat.fix(a,6)>>> print b 0.003000对浮点数四舍五入,主要使用到round函数>>> from decimal import *>>> a ="2.26">>> b ="2.29">>> c = Decimal(a) - Decimal(b)>>> print c -0.03>>> c / Decimal(a) * 100 Decimal('-1.327433628318584070796460177')>>> Decimal(str(round(c / Decimal(a) * 100, 2))) Decimal('-1.33')

  9.2、进制转换

  有些时候需要作不同进制转换,可以参考下面的例子(%x 十六进制,%d 十进制,%o 八进制)

  >>> num = 10

  >>> print "Hex = %x,Dec = %d,Oct = %o" %(num,num,num)

  Hex = a,Dec = 10,Oct = 12

  10、Python调用系统命令或者脚本

  使用 os.system() 调用系统命令 , 程序中无法获得到输出和返回值

  >>> import os

  >>> os.system('ls -l /proc/cpuinfo')

  >>> os.system("ls -l /proc/cpuinfo")

  -r--r--r-- 1 root root 0 3月 29 16:53 /proc/cpuinfo

  0

  使用 os.popen() 调用系统命令, 程序中可以获得命令输出,但是不能得到执行的返回值

  >>> out = os.popen("ls -l /proc/cpuinfo")

  >>> print out.read()

  -r--r--r-- 1 root root 0 3月 29 16:59 /proc/cpuinfo

  使用 commands.getstatusoutput() 调用系统命令, 程序中可以获得命令输出和执行的返回值

  >>> import commands

  >>> commands.getstatusoutput('ls /bin/ls')

  (0, '/bin/ls')

“Python编程中常用的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python编程中常用的方法有哪些

本文链接: https://www.lsjlt.com/news/228653.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python编程中常用的方法有哪些
    本篇内容介绍了“Python编程中常用的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、正则表达式替换  目标: 将字符串 ...
    99+
    2023-06-02
  • Python编程方法有哪些
    本篇内容介绍了“Python编程方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 估算解决问题所需要的时间。不要怕,承认吧!我曾见过...
    99+
    2023-06-02
  • ASP 编程中常用的算法有哪些?
    ASP (Active Server Pages) 是一种基于服务器端的脚本语言,它使用 VBScript 或 JavaScript 来编写动态网页。在 ASP 编程中,算法是必不可少的一部分,常用的算法主要包括以下几种: 一、查找算法 ...
    99+
    2023-08-21
    编程算法 linux 文件
  • ASP编程中有哪些常用的算法?
    ASP是一种动态网页技术,它可以使网页动态地生成内容,从而实现更加丰富的交互体验。在ASP编程中,算法是非常重要的一部分。本文将介绍一些常用的算法,以及演示代码,希望能够对ASP编程的初学者有所帮助。 排序算法 排序算法是计算机科学中...
    99+
    2023-10-30
    编程算法 git 打包
  • Bash编程中的常用算法有哪些?
    Bash编程是一种常见的脚本编程语言,主要用于在Linux和Unix系统中编写脚本程序。在Bash编程中,有许多常用的算法可以帮助程序员更好地完成任务。本文将介绍一些常见的算法,并提供一些示例代码。 一、字符串处理算法 字符串处理是Bash...
    99+
    2023-08-07
    编程算法 自然语言处理 bash
  • Java编程中有哪些常用的算法?
    Java是一种广泛使用的编程语言,其强大的功能使得它成为了许多开发人员首选的编程语言。在Java编程中,算法是一个非常重要的概念。算法是用于解决特定问题的一系列步骤,它可以帮助开发人员更快地开发出高效的程序。在本文中,我们将介绍Java编...
    99+
    2023-10-27
    编程算法 javascript shell
  • ASP编程中有哪些常用算法?
    ASP(Active Server Pages)是一种基于服务器端的脚本语言,它可以用来创建动态网页。在ASP编程中,常常需要使用一些算法来实现特定的功能。本文将介绍ASP编程中常用的几种算法,并且穿插一些演示代码来加深理解。 一、字符串...
    99+
    2023-11-11
    编程算法 对象 apache
  • PHP编程中常用的异步编程算法有哪些?
    随着互联网技术的不断发展,Web应用程序对并发性和响应性的需求越来越高。异步编程成为了一种解决方案,因为它可以充分利用现代计算机的多核心和并行处理能力,提高Web应用程序的性能和响应速度。在PHP编程中,异步编程也变得越来越重要。本文将介...
    99+
    2023-10-29
    编程算法 api 异步编程
  • Java API中有哪些常用的编程算法?
    Java作为一种广泛应用的编程语言,其API中包含了许多常用的编程算法。这些算法可以帮助程序员更高效地处理数据和解决问题。在本篇文章中,我们将会介绍Java API中常用的编程算法,并提供相应的演示代码。 排序算法 排序算法是编程中常用...
    99+
    2023-10-26
    api 编程算法 编程算法
  • python中有哪些常用的魔术方法
    这篇文章将为大家详细讲解有关python中有哪些常用的魔术方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比...
    99+
    2023-06-14
  • PHP 编程中有哪些常用的算法及其实现方法?
    在 PHP 编程中,算法是非常重要的一部分。合理的算法可以大大提高程序的效率和运行速度。本文将介绍 PHP 编程中常用的算法及其实现方法。 一、排序算法 冒泡排序 冒泡排序是最简单的排序算法之一,它的基本思想是比较相邻的两个元素,如果...
    99+
    2023-08-12
    编程算法 load laravel
  • 常用python编程软件有哪些
    python 开发软件的类型主要有:集成开发环境 (ide)、代码编辑器、解释器、库和框架。ide 提供全面的开发环境(例如 pycharm、visual studio code),代码...
    99+
    2024-04-20
    python sublime pycharm
  • Python编程常用技巧有哪些
    这篇文章主要介绍“Python编程常用技巧有哪些”,在日常操作中,相信很多人在Python编程常用技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python编程常用技巧有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-16
  • 常用的Python魔法方法有哪些
    这期内容当中小编将会给大家带来有关常用的Python魔法方法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、算数运算符的魔法方法python2.2以后,对类和类型进行了统一,做法就是讲int()、...
    99+
    2023-06-15
  • Python编程中常用的基础知识有哪些
    本篇内容介绍了“Python编程中常用的基础知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、正则表达式替换目标:将字符串line...
    99+
    2023-06-02
  • Python编程中常用的数据类型有哪些
    这篇文章给大家分享的是有关Python编程中常用的数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • Python中有哪些字典常用方法
    Python中有哪些字典常用方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、clear方法清除字典中所有的项,这是一个原地操作,所以无返回值(或则说返回None)d&...
    99+
    2023-06-15
  • python中file对象的常用方法有哪些
    这篇文章主要讲解了“python中file对象的常用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中file对象的常用方法有哪些”吧!open() 方法Python o...
    99+
    2023-06-02
  • Python中OS模块有哪些常用的方法
    这篇文章将为大家详细讲解有关Python中OS模块有哪些常用的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。import os# 系统操作print(os.sep)&...
    99+
    2023-06-14
  • Python 面试中常考的编程算法题目有哪些?
    在 Python 面试中,经常会出现一些编程算法题目,这些题目是用来考察面试者对编程基础知识的掌握程度、编程思维能力、代码逻辑能力以及解决问题的能力。下面就为大家介绍一些在 Python 面试中常考的编程算法题目。 一、斐波那契数列 斐波...
    99+
    2023-09-18
    面试 编程算法 git
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作