资讯专栏INFORMATION COLUMN

Python基础-模块

cjie / 3343人阅读

摘要:模块模块有三种标准模块,不需要多带带安装,自带模块第三方模块,别人写好,使用得安装自己写的文件随机取一个整数取一个小数随机取一个元素随机取个元素洗牌之前洗牌,这个只能传洗牌之后的作业写一个函数,函数的功能是生成一批密码,存到文件里面代表生成多

模块

模块有三种

1.标准模块,不需要多带带安装,python自带模块
2.第三方模块,别人写好,使用得安装
3.自己写的python文件
import random
print(random.randint(10000,99999)) #随机取一个整数
print(random.uniform(1,900)) #取一个小数
stus = ["xiaojun","hailong","yangfan","tanailing","yangyue","cc"]
print(random.choice("abcdefg")) #随机取一个元素
print(random.sample(stus,2)) #随机取N个元素

l = list(range(1, 101))
print("洗牌之前", l)
print(random.shuffle(l)) #洗牌,这个只能传list
print("洗牌之后的", l)

作业

1、写一个函数,函数的功能是生成一批密码,存到文件里面
    def gen_password(num):
        #num代表生成多少条密码
        pass
    2、密码复杂度要求
        1、长度在,8-16位之间
        2、密码必须包括大写字母、小写字母、数字、特殊字符
        3、密码不能重复
    3、生成的密码保存到文件里面
2、写一个函数,函数的功能生成一批双色球号码
    def gen_seq(num):
        pass
    1、中奖号码由6个红色球号码和1个蓝色球号码组成。
        红球的范围是 1-33
        篮球的范围是:1-16
    2、产生的不能重复
        篮球: 05  红球: 01 03 05 17 18 32
        篮球: 05  红球: 01 03 05 17 18 32
        篮球: 05  红球: 01 03 05 17 18 32
        篮球: 05  红球: 01 03 05 17 18 32
#作业1

import random
import string

def gen_passwords1():
    pwd_len = random.randint(8,16)
    upper = random.sample(string.ascii_uppercase,1)
    lower = random.sample(string.ascii_lowercase,1)
    digit = random.sample(string.digits,1)
    punctuation = random.sample(string.punctuation,1)
    other = random.sample(string.ascii_letters+string.digits+string.punctuation,pwd_len-4)
    res = upper+lower+digit+punctuation+other
    random.shuffle(res)
    return "".join(res)

def gen_password2():
    pwd_len = random.randint(8,16)
    all_str = string.ascii_letters+string.digits+string.punctuation
    res = set(random.sample(all_str,pwd_len))
    if res & set(string.ascii_uppercase) and res & set(string.digits) 
            and res & set(string.ascii_lowercase) and res &  set(string.punctuation):
        return "".join(res)
    return gen_password2()

all_passwords = set()
num = int(input("请输入要产生多少条密码:").strip())
while len(all_passwords) != num:
    res = gen_passwords1()+"
"
    all_passwords.add(res)

with open("passwords.txt","w",encoding="utf-8") as fw:
    fw.writelines(all_passwords)
#列表生成式
#res = ["01","02","03","33"]
#res = []
# for i in range(1,34):
#     res.append(str(i).zfill(2))
l = [i for i in range(10)] #先写for i in range(10),把生成的i放前面再写
print(l)
res = [str(i).zfill(2) for i in range(1,34)]
print(res)
#列表生成式
import random
def gen_seq():
    all_red_ball = [str(i).zfill(2) for i in range(1,34)]
    all_blue_ball = [str(i).zfill(2) for i in range(1,17)]
    blue = random.choice(all_blue_ball)
    red = random.sample(all_red_ball,6)
    red = "".join(red)
    return "红球:%s 蓝球:%s"%(red, blue)

all_seq = set()
num = int(input("请输入要产生多少条密码:").strip())
while len(all_seq) != num:
    res = gen_seq()+"
"
    all_seq.add(res)

with open("seq.txt","w",encoding="utf-8") as fw:
    fw.writelines(all_seq)
常用模块

os模块

import os
os.rename(old, new) #重命名
os.remove(f) #删除文件
os.mkdir("china/beijing") #创建文件夹,父目录存在才能创建下级目录
os.makedirs("china/beijing") #父目录不存在会自动创建
os.removedirs("china") #只能删除空文件夹

print(os.listdir("e:")) #显示该目录下的所有文件和文件夹
print(os.path.isdir("E:apache-jmeter-3.3")) #判断是否是文件夹
print(os.path.isfile("e:2018年度项目工作总结及规划.pptx")) #判断是否为文件
print(os.path.exists("E:apache-jmeter-3.3")) #判断文件或文件夹是否存在
res1 = os.system("dir") #执行操作系统命令
res2 = os.popen("ipconfig").read() #执行系统操作命令后并返回值
print(res2)

os.path.join("china","a.py") #拼接路径
os.path.split(r"D:Chinaeijinga.py") #把路径和文件名分割开
os.path.dirname(r"D:Chinaeijinga.py") #取父目录
os.path.getsize(r"D:Chinaeijinga.py") #取文件大小,单位是字节
os.getcwd() #取当前目录
os.chdir(r"D:Chinaeijing") #进入到哪个目录
os.path.getatime() #获取文件时间
res = os.walk("D:") #遍历所有目录和文件
count = 0
for cur_path,dirs,files in res:
    #print("文件:",files,"当前目录:",cur_path,"文件夹",dirs)
    for f in files:
        if f.endswith("py"):
            #count += 1
            os.remove(os.path.join(cur_path,f))
print(count)

def find_file(path, keyword):
    #查找文件的
    res = os.walk(path)
    for cur_path, dirs, files in res:
        for file_name in files:
            if keyword in file_name:
                print("该文件在%s下面" %cur_path)
                
find_file("D:","设备部接口新.jmx")

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43709.html

相关文章

  • python基础教程:模块高级技巧

    摘要:标准模块附带了一个标准模块库。它返回一个如果调用不传递参数,则列出当前已经定义的所有名字用可以查看所有的内置类型变量函数等,方法是借助标准模块模块高级技巧总结的搜索路径,顺序一定要搞得清编译后的文件内置函数查看模块定义的名字。 上一节,我们讲解了Python模块的基础知识,这一节我们继续深入了解模块的更多知识,从而让大家全面了解、掌握和运用模块到我们实际的编程中。 在上一节中有一句话接...

    JasinYip 评论0 收藏0
  • Python 基础起步 (三) 基础的数据类型,简单运算

    摘要:好啦,现在让我们进入主题,今天我主要想给大家说一下里的数据类型,用小白的话说就是能显示或者使用什么类型的信息,是数字,字符串,分数小数等等。 基础数据类型 大家好,经过上篇文章的讲解,相信同为小白的你已经熟悉了Jupyter Notebook 的基础操作,在此为大家总结一些常用的快捷键,能够方便大家使用: 在选中模块下方添加一个新的模块: b 在选中模块上方添加一个新的模块: a 删...

    AprilJ 评论0 收藏0
  • python基础教程:包,对,没错,绝对不是双肩包!

    摘要:比如,模块名表示包中名为的子模块。例如,文件可以包含以下代码定义了之后,就会把,,导入到当前命名空间。这种导入使用前导点来指示相对导入中涉及的当前包和父包。也就是说被执行的主程序里面不能包含相对导入。 包,Package,是一种Python模块的集合,从文件组织形式上看,包就是一个文件夹,里面放着各种模块(.py文件),也可以有子文件夹(子包)。包名构建了一个Python模块的命名空间...

    wuyangnju 评论0 收藏0
  • [零基础python]模块的加载

    摘要:找到模块文件之后,将其编译成字节码,就是那个文件里面的关于字节码,下面会介绍,请继续阅读。当然,如果根本就没有找到同名的源文件,只有字节码文件,那么就只能运行这个了。执行就是前面已经编译的模块字节码文件,顺理成章要执行了。 不管是用import还是用from mmmm import *的方式导入模块,当程序运行之后,回头在看那个存储着mmmm.py文件的目录中(关于mmmm.py文件可...

    tinylcy 评论0 收藏0
  • python基础教程:Python模块(module)

    摘要:如果你这个脚本想要使用其它脚本里面的变量函数和类也是可以的,在你这个脚本里面用来导入要引用的脚本,而那个被引用的脚本就称作模块。 在此之前,我们运行一些简短的Python代码,都是通过Python解释器(python或ipython)进行的,如果我们退出解释器再重新运行解释器后,上次敲进去的变量、函数等都不见了,没有保存下来。为了保存我们曾经写过的代码,就是要写成.py文件,称为脚本。...

    whinc 评论0 收藏0
  • Python基础教程:-正则表达式基本语法以及re模块

    摘要:正则表达式关闭或可选标志。如果所含正则表达式,以表示,在当前位置成功匹配时成功,否则失败。否则指的是八进制字符码的表达式。 正则表达式是个很牛逼的东西,不管是在javascript,还是在Python web开发(http://www.maiziedu.com/course/python-px...)中,我们都会遇到正则表达式,虽然javascript和Python的正则表达式区别不大...

    y1chuan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<