python有哪些脚本

Python015

python有哪些脚本,第1张

Python常用的30个脚本:

1、冒泡排序

2、计算x的n次方的方法

3、计算a*a + b*b + c*c + ……

4、计算阶乘 n!

5、列出当前目录下的所有文件和目录名

6、把一个list中所有的字符串变成小写:

7、输出某个路径下的所有文件和文件夹的路径

8、输出某个路径及其子目录下的所有文件路径

9、输出某个路径及其子目录下所有以.html为后缀的文件

10、把原字典的键值对颠倒并生产新的字典

相关推荐:《Python教程》

11、打印九九乘法表

通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。

12、替换列表中所有的3为3a

13、打印每个名字

** 善于使用 rang() ,会使问题变得简单

14、合并去重

15、随机生成验证码的两种方式

16、计算平方根

17、判断字符串是否只由数字组成

18、判断奇偶数

19、判断闰年

20、获取最大值

21、斐波那契数列

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13;特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

22、十进制转二进制、八进制、十六进制

23、最大公约数

23、最小公倍数

24、简单计算器

25、生成日历

26、文件IO

27、字符串判断

28、字符串大小写转换

29、计算每个月天数

30、获取昨天的日期

在一些测试平台对接时或者用例执行时,或多或少会用到Python脚本传参的问题。

test.py脚本

#!/usr/bin/python3

import sys

print ('参数个数为:', len(sys.argv), '个参数。')

print ('参数列表:', str(sys.argv))

print ('脚本名:', str(sys.argv[0]))

print ('第一个参数:', sys.argv[1])

执行python3 test.py arg1 arg2 arg3

参数个数为: 4 个参数。

参数列表: ['test.py', 'arg1', 'arg2', 'arg3']

脚本名: test.py

第一个参数: arg1

test.py脚本

#!/usr/bin/python3

import argparse

# 生成了一个命令行参数的对象

parser = argparse.ArgumentParser(description='Test for argparse')

parser.add_argument('--name', '-n', help='name属性,非必要参数')

parser.add_argument('--year', '-y', help='year 属性,非必要参数,但有默认值', default=2017)

parser.add_argument('--body', '-b', help='body属性,必要参数', required=True)

args = parser.parse_args()

print (args.year,  args.name, args.body)

查看帮助python3 test.py --help

usage: test.py [-h] [--name NAME] [--year YEAR] --body BODY

Test for argparse

optional arguments:

  -h, --help  show this help message and exit

  --name或-n NAME  name属性,非必要参数

  --year或-y YEAR  year属性,非必要参数,但有默认值

  --body或-b BODY  body 属性,必要参数

执行python3 test.py --year 2021 -n robot  --body "are you ok?"

2021 robot are you ok?

以方法2中的test.py脚本为例

python3 test.py --year 2021 --body [\"test\", \"robot\",\"boy\" ]

2021 ["test", "robot", "boy" ]

以方法1中的test.py脚本为例

python3 test.py [\"test\", \"robot\",\"boy\" ]

参数个数为: 2个参数。

参数列表: ['test.py', '[\"test\", \"robot\", \"boy\" ]']

脚本名: test.py

第一个参数: ["test", "robot", "boy" ]

其实此时传入的第一个参数是一个字符,需要转换为列表。

import json

json.loads(sys.argv[1])

test_arg.py脚本

#!/usr/bin/python3

import argparse

import os

# 生成了一个命令行参数的对象

parser = argparse.ArgumentParser(description='Test for argparse')

parser.add_argument('--body', '-b', help='body属性,必要参数', required=True)

args = parser.parse_args()

print (args.body)

command=python3 + '  ' + test_sys.py+ '  '  + args.body

print (command)

str=('command')

result=os.system(str)

test_sys.py脚本

#!/usr/bin/python3

import sys

import json

print ('第一个参数:', sys.argv[1])

print ('列表:', json.loads(sys.argv[1]))

执行python3 test_arg.py --body  [\"test\", \"robot\",\"boy\" ]

python3  test_sys.py  ["test", "robot", "boy" ]

test_sys.py执行报错,转json失败。

还记得我们案例2中,脚本的传入指定参数和实际传入参数嘛?

test_arg.py脚本我们稍微优化下,在传参前先字符替换下。

["test", "robot", "boy" ]转换为[\"test\", \"robot\",\"boy\" ]即可。

command.replace(' " ' , r ' \" ') 添加到command=之后,再次运行看看呢?

import random

oldf=open('oldfile','r') #打开原文件

newf=open('newfile','w') #打开要写入文件

lines=oldf.readlines()#原文件行列表

randline=random.randint(0,len(lines)) # 若干行

for i in xrange(0,randline):

newf.write(lines[random.randint(0,len(lines))]) # 写入新文件随机行

oldf.close()

newf.close()