千家信息网

Python语言常用基础知识点是什么

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"Python语言常用基础知识点是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!p
千家信息网最后更新 2026年10月31日Python语言常用基础知识点是什么

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

python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重、字典排序、字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,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')]

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 "s" % str      abcdefg

截取字符串,按照固定宽度输出。

>>> str="abcdefg" >>> print ".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')

11、Python 捕获用户 Ctrl+C ,Ctrl+D 事件

有些时候,需要在程序中捕获用户键盘事件,比如ctrl+c退出,这样可以更好的安全退出程序。

try:     do_some_func() except KeyboardInterrupt:     print "User Press Ctrl+C,Exit" except EOFError:     print "User Press Ctrl+D,Exit"

12、Python 读写文件

一次性读入文件到列表,速度较快,适用文件比较小的情况下

track_file = "track_stock.conf" fd = open(track_file) content_list = fd.readlines() fd.close() for line in content_list:     print line

逐行读入,速度较慢,适用没有足够内存读取整个文件(文件太大)

fd = open(file_path) fd.seek(0) title = fd.readline() keyword = fd.readline() uuid = fd.readline() fd.close()

写文件 write 与 writelines 的区别 。

Fd.write(str) : 把str写到文件中,write()并不会在str后加上一个换行符。

Fd.writelines(content) : 把content的内容全部写到文件中,原样写入,不会在每行后面加上任何东西。

"Python语言常用基础知识点是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

字符 字符串 输出 命令 文件 字典 排序 时间 方法 程序 知识 例子 系统 不同 对象 数据 格式 目录 基础 常用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 厦门中拓互联网络科技有限公司 圆梦互联网科技 互联网扶贫科技 互联网科技资迅 互联网高科技企业 佰商互联网科技有限公司 创业天下互联网科技有限公司 互联网经济与金融科技 彤创互联网科技有限公司 互联网科技人工智能实验室 保险科技服务互联网营销体系 工业互联网山东科技大学 互联网相关科技技术 图游互联网科技 广西科技产业互联网是什么 版纳互联网科技选哪家 求路客互联网科技电话 宁波允成互联网科技有限公司 利用互联网等科技手段 科技创新与互联网经济 上海互联网科技有限公司 互联网的科技创新 互联网科技生活的内容 央行互联网金融科技公司 北京华百购互联网科技有限公司 湖南诚度互联网科技有限公司 杭州壁岐互联网科技有限公司 北京互联网科技类企业分布 绵阳真晨互联网科技有限公司
0