Python 脚本相关知识
一、python篇1
1、strip()方法
(1)、strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
str.strip([chars]);
参数:chars -- 移除字符串头尾指定的字符。
返回值:返回移除字符串头尾指定的字符生成的新字符串。
2、os.path.exists(path) #路径存在则返回True,路径损坏返回False
(1)、 os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
3、if判断的使用
(1)、
第一种是`if x is None`;
第二种是 `if not x:`;
第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) 。
在Python中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False
4、Python glob模块
(1)、glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:"*", "?", "[]"。"*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的字符,如:[0-9]匹配数字。
(2)、glob.glob
返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:
import glob #获取指定目录下的所有图片
print glob.glob(r"E:\Picture\*\*.jpg") #获取上级目录的所有.py文件
print glob.glob(r'../*.py') #相对路径
import glob #获取指定目录下的所有图片 print glob.glob(r"E:\Picture\*\*.jpg") #获取上级目录的所有.py文件 print glob.glob(r'../*.py') #相对路径
5、 len()的用法
(1)、作用:返回字符串、列表、字典、元组等长度
(2)、语法:len(str)
(3)、参数:
str:要计算的字符串、列表、字典、元组等
(4)、返回值:字符串、列表、字典、元组等元素的长度
6、open()函数
(1)、open(路径+文件名,读写模式)
读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式
7、file的读写方法:
(1)、
f.read([size]) #size为读取的长度,以byte为单位
f.readline([size])
#读一行,如果定义了size,有可能返回的只是一行的一部分
f.readlines([size])
#把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
f.write(str)
#把str写到文件中,write()并不会在str后加上一个换行符
f.writelines(seq)
#把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
python中readline()是读取一行数据,而readlines是读取所有行数据,并且每一行存在列表的相应元素中。这里换行符都是存在的,readline()输出之后会保留行尾的空格,而readlines()也会,在每一个元素中都会有"\n"的出现。比如:['456\n', '789\n', '1012']
8、for 语句
(1)、for循环在Python中是一个通用的序列迭代器:可以遍历序列对象内的元素。for语句可用于字符串,列表,元组,其他内置可迭代对象以及之后我们能够通过类所创建的新对象。
(2)、一般格式
Python for循环的首行定义了一个赋值目标(或【一些目标】),以及你想遍历的对象,首行后面是你想重复的语句块(一般都有缩进)
for <target> in <object>:<statements>
else:<statements>
当ptyhon运行for循环时,会逐个将序列对象中的元素赋值给目标,然后为每个元素执行循环主体。循环主体一般使用赋值的目标来引用序列中当前的元素,就好像那事遍历序列的游标。
for首行中用作赋值目标的变量名通常是for语句所在作用于的变量(可能是新的)。这个变量名没有什么特别的,甚至可以在循环主体中修改。但是当控制权再次回到循环顶端时,就会自动被设成序列的下一个元素。循环之后,这个变量一般都还是引用了最近所用过的元素,也就是序列中最后的元素,除非通过一个break语句退出了循环。
9、in 成员资格
(1)、有时候要判断一个数是否在一个序列里面,这时就会用到in运算符来判断成员资格,如果条件为真时,就会返回true,条件为假时,返回一个flase。这样的运算符叫做布尔运算符,其真值叫做布尔值。可以检查某一个字符是否存在在一个字符串中,还可以检查某一个字符串是否存在在一个序列之中。
10、join() 方法
(1)、Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:
str.join(sequence)
参数:sequence -- 要连接的元素序列。
返回值:返回通过指定字符连接序列中元素后生成的新字符串。
#!/usr/bin/pythonstr = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
输出结果:
a-b-c
11、Python 中的序列-列表和元祖
(1)、在Python中有六种内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。在这里暂时只讨论列表和元组。列表和元组的主要区别在于:列表可以修改,元组(不可变)不能。
通用序列操作
所有的序列都可以进行某些特定的操作。这些操作包括:
- 索引(indexing)
- 分片(sliceing)
- 加(adding)
- 乘(multiplying)
- 检查某个元素是否属于这序列(index)
- 计算序列长度(len)
- 找出最大元素和最小元素(min/max)
- 空列表[], 空字典{}, 空元组() :http://blog.csdn.net/facevoid/article/details/5338335
12、Python 中的replace() 方法
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法:
str.replace(old, new[, max])
参数
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
13、split() 方法
split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为空格。
num -- 分割次数。
返回值
返回分割后的字符串列表。
问::python 中的split函数的第二个参数如果为负数,是什么意思?比如filename = response.url.split("/")[-2],这个-2何解?
答::这不是split的参数,response.url.split("/")会返回一个列表,[-2]会对返回的列表进行索引,选取倒数第二项
14、python os.path模块常用方法详解
(1)、os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html
1.os.path.abspath(path)
返回path规范化的绝对路径。
>>> os.path.abspath('test.csv')
'C:\\Python25\\test.csv'
>>> os.path.abspath('c:\\test.csv')
'c:\\test.csv'
>>> os.path.abspath('../csv\\test.csv')
'C:\\csv\\test.csv'
2.os.path.split(path)
将path分割成目录和文件名二元组返回。
>>> os.path.split('c:\\csv\\test.csv')
('c:\\csv', 'test.csv')
>>> os.path.split('c:\\csv\\')
('c:\\csv', '')
3.os.path.dirname(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。
>>> os.path.basename('c:\\test.csv')
'test.csv'
>>> os.path.basename('c:\\csv')
'csv' (这里csv被当作文件名处理了)
>>> os.path.basename('c:\\csv\\')
''
15、Python 中的compile(), search() 方法
(1)、re.compile
可以把正则表达式编译成一个正则表达式对象。可以把那些经常使用的正则表达式编译成正则表达式对象,这样可以提高一定的效率。下面是一个正则表达式对象的一个例子:
import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
regex = re.compile(r'\w*oo\w*')
print regex.findall(text) #查找所有包含'oo'的单词
print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。
另参考网址: http://blog.csdn.NET/zouxy09/article/details/16920661 http://www.cnblogs.com/dreamer-fish/p/5282679.html
match函数只能够字符串的开始位置开始匹配,而search是可以匹配字符串的任意位置,但也是返回找到的第一个匹配的模式。
16、Python 中的List sort()方法
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法:
sort()方法语法:list.sort([func])
参数:
func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
返回值:
该方法没有返回值,但是会对列表的对象进行排序。
实例:
#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc', 'xyz'];
aList.sort();
print "List : ", aList;
结果:
List : [123, 'abc', 'xyz', 'xyz', 'zara']
17、Python 中的try方法
你可以不带任何异常类型使用except,如下实例:
try:正常的操作......................
except:发生异常,执行这块代码......................
else:如果没有异常执行这块代码
以上方式try-except语句捕获所有发生的异常。但这不是一个很好的方式,我们不能通过该程序识别出具体的异常信息。因为它捕获所有的异常。
18、Python 中的数字转字符串方法
数字转成字符串,使用格式化字符串:如
tt=322
tem='%d' %tt
tem即为tt转换成的字符串数字转换成字符串(接上面):
>>> d = "%i"%c # 10进制表示
常用的格式化字符串:
%d 整数
%f%F 浮点数
%e%E 科学计数
%g%G e 和%f/%E 和%F 的简写
%% 输出%
19、Python 中的range()方法
(1)、详细记录python的range()函数用法
使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序。
这里记录一下:
>>>range(1,5)#代表从1到5(不包含5)
[1,2,3,4]
>>>range(1,5,2)#代表从1到5,间隔2(不包含5)
[1,3]
>>>range(5)#代表从0到5(不包含5)
[0,1,2,3,4]
二、python篇2
1、environ()
(1)、使用python获得系统的信息时,使用os.environ()。
1. environ是一个字符串所对应环境的映射对象;
2. os.environ.keys() 显示环境变量所有的Key;
3. os.environ("value") 显示key为value时的值。
2、%s%是什么意思
(1)、该 %s 令牌允许我插入(和潜在的格式)的字符串。请注意, %s 令牌被替换为% 符号后传递给字符串的任何内容 ,如:
"Hello %s, my name is %s" % ('john', 'mike') # Hello john, my name is mike".
参考网址:http://www.cnblogs.com/vamei/archive/2013/03/12/2954938.html
3、os.system(cmd)与os.popen(cmd)的区别
(1)、os.system(cmd)与os.popen(cmd)的区别
python调用shell脚本或者调用系统命令,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码【0(成功),1,2】;后者的返回值是脚本执行过程的输出内容。
参考网址:https://zhidao.baidu.com/question/652164851990002245.html
参考网址:http://blog.sina.com.cn/s/blog_44a82be2010104wq.html
参考网址:http://www.cnblogs.com/zhoug2020/p/5079407.html
参考网址:http://blog.csdn.net/taohuaxinmu123/article/details/48828255
(2)、示例
command = 'ping www.baidu.com ' #可以直接在命令行中执行的命令
r = os.popen(command) #执行该命令
info = r.readlines() #读取命令行的输出到一个list
for line in info: #按行遍历line = line.strip('\r\n')print line
4、os.chdir()
(1)、os.chdir()方法用于改变当前工作目录到指定的路径。
用法:os.chdir(path) #path -- 要切换到的新路径。
5、os.sep()
(1)、os.sep 可以取代操作系统特定的路径分割符。
6、os.getcwd()
(1)、os.getcwd() 方法用于返回当前工作目录
7、platform
(1)、
import platformplatform.platform() #获取操作系统名称及版本号,'Windows-7-6.1.7601-SP1'platform.version() #获取操作系统版本号,'6.1.7601'platform.architecture() #获取操作系统的位数,('32bit', 'WindowsPE')platform.machine() #计算机类型,'x86'platform.node() #计算机的网络名称,'hongjie-PC'platform.processor() #计算机处理器信息,'x86 Family 16 Model 6 Stepping 3, AuthenticAMD'platform.uname() #包含上面所有的信息汇总
8、反斜杠
(1)、
>>>'let\'s go'let's go
>>>str1 = 'c:\\now'
>>>print(str1)c:\now
(2)、当需要多个反斜杠转义时,则使用原始字符 r
>>>str1 = r'c:\now\test'
>>>print(str1)c:\now\test
(3)、长字符串打印多行显示时,要用三引号''' '''
>>>str1 = '''长江,黄河,......'''
>>>print(str1)长江,黄河,.....
参考网址:http://www.cnblogs.com/followyourheart1990/p/4270566.html
参考网址:http://www.cnblogs.com/wangyongbin/p/4253805.html
9、open()
(1)、
open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])
file文件位置,需要加引号;
mode文件打开模式,见表格1
表格1 参数mode的基本取值
Character | Meaning |
‘r' | open for reading (default) |
‘w' | open for writing, truncating the file first |
‘a' | open for writing, appending to the end of the file if it exists |
‘b' | binary mode |
‘t' | text mode (default) |
‘+' | open a disk file for updating (reading and writing) |
‘U' | universal newline mode (for backwards compatibility; should not be used in new code) |
参考网址:http://www.jb51.net/article/58002.htm
文件open之后、read( ):表示读取全部内容
文件open之后、readline( ):表示逐行读取
10、获取python的版本号
(1)、sys.version字符串给你提供安装的Python的版本信息。sys.version_info元组则提供一个更简单的方法来使你的程序具备Python版本要求功能。
>>> import sys
>>> sys.version
'2.3.4 (#1, Oct 26 2004, 16:42:40) \n[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)]'
>>> sys.version_info
(2, 3, 4, 'final', 0)
参考网址:http://blog.csdn.net/qustdjx/article/details/7838380
11、input()
(1)、input() 用来获取控制台的输入。如:
>>>a = input("input:")
input:123 # 输入整数
>>> type(a)
<type 'int'> # 整型
>>> a = input("input:")
input:"runoob" # 正确,字符串表达式
>>> type(a)
<type 'str'> # 字符串
参考网址:http://www.runoob.com/python/python-func-input.html
12、shutil
(1)、
shutil.rmtree("te")
copyfile( src, dst) | 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉 |
copymode( src, dst) | 只是会复制其权限其他的东西是不会被复制的 |
copystat( src, dst) | 复制权限、最后访问时间、最后修改时间 |
copy( src, dst) | 复制一个文件到一个文件或一个目录 |
copy2( src, dst) | 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西 |
copy2( src, dst) | 如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作 |
copytree(olddir,newdir,True/Flase) | 把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接 |
(2)、shutil.copy(src, dst)
拷贝文件和权限
shutil.copy('f1.log', 'f2.log')
(3)、shutil.move(src, dst)
递归的去移动文件,它类似mv命令,其实就是重命名。
shutil.move('folder1', 'folder3')
参考网址:http://www.cnblogs.com/wang-yc/p/5625046.html
Python 脚本相关知识相关推荐
- python解释执行器_有关Python脚本相关说明介绍
脚本是使用一种特定的描述性语言,因为Python脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些,这也大大的提高了开发人员的工作效率. 首先我们需要下载libsvm,可以在libs ...
- 二、python框架相关知识体系
Django框架 1.django框架.flask框架和Tornado框架的区别? django框架,内置组件多,自身功能强大,是一个大而全的框架,ORM.Admin.中间件.Form.ModelFr ...
- Appium+Python API相关知识了解
首先,要先了解,官方Appium API // https://testerhome.com/topics/3144 刚开始的时候,没有看官方API,然后在网上瞎找学习资料,发现python相关的很少 ...
- Python 语法相关知识
系统相关的信息模块: import sys sys.argv 是一个 list,包含所有的命令行参数. sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的 ...
- python | 字典相关知识总结
什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型, ...
- 使用快客引流脚本,你不得不知的引流脚本相关知识
现在的人们对客源的需求越来越大,导致很多人为了客源而发愁不已,基于这种情况,快客引流脚本圈开发了一款工具,就是专门为了引流客源的软件,叫做引流脚本,那么引流脚本好不好用呢?效果如何呢?下面就来介绍一下 ...
- python 迭代器相关知识
迭代器:iterator 可以被next()函数调用的,并不断返回下一个值的对像,称为迭代器. 迭代对象:iterable 可以直接被用作于for循环的对象,统称为可迭代对像. 转载于:https:/ ...
- python统计行号_如何使用Python脚本分析CPU使用情况的?
用以分析Python中CPU使用情况.CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们. 接下来我们将看看如何跟踪Python脚本使用时CPU使用情况, ...
- graphviz python_工具推荐|我是如何使用Python脚本分析CPU使用情况的?
在这篇文章中,我将讨论一个工具,用以分析Python中CPU使用情况.CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们. 接下来我们将重点关注以下几个方 ...
最新文章
- 中科院詹剑锋:美国出口管控对中国开源软件及产业的影响。
- 推荐《淘宝的可伸缩高性能互联网架构 》
- MYSQL 生成UUID() 即 ORACLE 中的guid()函数
- .net中的socket异步通信实现--客户端代码
- WX: picker 滚动选择器
- qt的qprinter打印功能怎么设置打印时字体大小_如何打印一份成绩单
- maven安装与配置等相关知识
- centos yum install 默认目录_Centos7如何更换yum仓库
- H2最完整的资料下载地址:
- python property 与get/set方法详解
- PHP工程师历年企业笔试真题汇总
- Errors occured, no packages were upgraded. ⇒ ERROR: Failed to install packages to new root.
- 一文探究数据仓库体系(2.7万字建议收藏)
- EasyUI的Vue版本
- 零零信安王宇:通过基于VPT的风险管理 用20%的时间去解决80%的风险
- U盘有容量有一半不见了,修复U盘
- 二维数组中的查找(两种解法,各有千秋)
- 用cmd进入DOS窗口的步骤
- 在win10下把iPad利用起来,当作电脑的副屏
- 3.7V锂电池电压与容量关系
热门文章
- html 文字中不换行怎么写,HTML让字体在一行内显示不换行
- mpandroidchart组合图_使用MpAndroidChart组合图,如何将图表分成上下两部分?
- 找出游戏的必胜的策略(博弈论的学习)
- STM32之端口复用与重映射
- Python的第三方库pandas
- oracle 批量更新_用集算器更新数据库的技巧
- 树莓派安装mysql并设置远程访问
- 计算机基础知识 笔试,计算机基础知识笔试题
- 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...
- idea打开hierarchy面板