python(30)——【random模块】【if __name__ =='__main__'】【os模块】

一、random模块(随机模块)

1.random 常用模块介绍

import random
print(random.random())
#返回[0,1)之间的随机浮点数
print(random.randint(2, 4))
#返回一个[2,4]内的随机整数
print(random.choice([1, [20, 23], 66, 4]))
#返回可迭代对象中的任意一个元素
print(random.sample([1, [20, 23], 66, 4], 2))
#返回可迭代对象中的任意N个且不重复的元素(通过第二个参数改变返回的元素个数)
print(random.uniform(1 ,3))
#返回[1,3)之间的随机浮点数
#随机指定序列的顺序(类似于洗牌)
import random
item = [1, 2, 3, 4, 5]
random.shuffle(item)
print(item)

2.random 模块应用

#六位随机验证码的产生

 1 import random
 2 def v_code():
 3     ret = ‘‘
 4     for i in range(6):
 5         num = random.randint(0, 9)                      #随机产生0-9数字
 6         alf1 = chr(random.randint(65, 90))              #随机产生大写字母A-Z
 7         alf2 = chr(random.randint(97, 122))             #随机产生小写字母a-z
 8         s = str(random.choice([num, alf1, alf2]))       #数字和字母随机选取
 9         ret += s
10     return ret
11 print(v_code())

二、if __name__ ==‘__main__‘的一些补充

之前有在这篇博客中有提到相关内容:https://www.cnblogs.com/guoruxin/p/10109621.html

做一些相关补充:

cal.py中的内容如下:

A = 5.20
print(__name__)
if  __name__==‘__main__‘:
    def add_cal(x,y):
        return x + y + A

当test.py作为执行文件时,执行结果如下:
__main__

结论:当test.py作为执行文件时,__name__==__main__

当test.py作为模块被导入时

from cal import A
print(A)
#执行结果如下:
cal
5.2

结论:当test.py作为模块被导入时,__name__==cal,即__name__==被调用模块的模块名

三、os模块

os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径

#举例:
import os
os.getcwd()
#执行结果:
D:\Users\XIAOHuoguo\PycharmProjects\TF_Learning\os_module

os.os.chdir() #改变当前脚本工作目录,相当于shell下的cd

#举例:
import os
print(os.getcwd())
os.chdir("D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/random_module")
print(os.getcwd())
#执行结果:
D:\Users\XIAOHuoguo\PycharmProjects\TF_Learning\os_module
D:\Users\XIAOHuoguo\PycharmProjects\TF_Learning\random_module

os.curdir #返回当前目录:相当于‘.’

os.pardir    #获取当前目录的父目录字符串名,相当于‘..’
os.makedirs(‘dirname1/dirname2/dirname3‘) #可生成多层递归目录

#举例:
import os
os.makedirs(‘test1/test2/test3‘)

os.removedirs() #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依次类推#注意:若删除的目录不为空,则报错

#举例:
os.removedirs(‘D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/os_module/test1/test2/test3‘)

os.mkdir()    #生成单级目录,相当于shell中mkdir dirname
os.rmdir() #删除单级空目录,若目录不为空则无法删除则无法删除,报错,相当于shell中rmdir dirname

#注意:在删除同级目录下的目录时,在os.removedirs() 和 os.rmdir()中,而直接写目录名即可,不同级需要添加删除目录的绝对路径。

os.listdir()    #列出指定目录下所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()    #删除一个文件
os.rename(‘oldname‘,‘newname‘)    #重命名文件/目录

#注意:修改不是同级目录的文件名时,需要在newname前添加目标绝对路径,否则修改结果会改变其绝对路径

os.stat()    #获取文件/目录信息
#举例:
import os
print(os.stat(‘os_test.py‘))

#执行结果:
os.stat_result(st_mode=33206, st_ino=10696049115057371, st_dev=3231772741, st_nlink=1, st_uid=0, st_gid=0, st_size=655, st_atime=1551927079, st_mtime=1551927079, st_ctime=1551880901)

#结果分析:(时间显示为时间戳格式)
st_size=655 #该文件所占字节
st_atime=1551927079    #用户上一次访问时间
st_mtime=1551927079    #用户上一次修改时间
st_ctime=1551880901    #创建时间
os.sep    #输出操作系统特定的路径分隔符,win下为‘\\’,Linux下为‘/’

os.linesep    #输出当前平台使用的行终止符,win下为‘\r\n’,Linux下为‘\n’

os.pathsep    #输出用于分割文件路径的字符串,win下为‘ ;’,Linux下为‘ :’

os.name    #输出字符串指示当前使用平台。win-->‘nt‘,Linux-->‘poaix’

os.system(‘bash command‘)    #运行shell命令,直接显示

os.environ    #获取系统环境变量

os.path.abapath(path)    #返回path规范化的绝对路径

os.path.split(path)    #将path分割成目录和文件名二元组返回(第一个元素为目录,第二个元素为文件名)

os.path.dirname(path)    #返回path的目录,其实就是os.path.split(path)的第一个元素

os.path.basename(path)    #返回path的文件名,其实就是os.path.split(path)的第二个元素(如果path以/或者\结尾,name就会返回空值)

os.path.exists(path)    #如果path存在,则返回True;如果path不存在,则返回False

os.path.isabs(path)    #如果path是绝对路径,返回True

os.path.isfile(path)    #如果是存在的文件,返回True;否则返回False

os.path.isdir(path)    #如果是存在的目录,返回True;否则返回False
os.path.join(path1[, path2[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

#涉及到路径拼接,应该考虑到使用join(拼接的时候尽量使用join,而不要使用+号)

举例:
a = ‘D:/Users/XIAOHuoguo/PycharmProjects‘
b = ‘TF_Learning/os_module/os_test.py‘
print(os.path.join(a, b))
#执行结果如下:
D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/os_module/os_test.py
os.path.getatime(path)    #返回path所指向的文件或者目录的最后存取时间

os.path.getctime(path)    #返回path所指向的文件或者目录的最后修改时间

python(30)——【random模块】【if __name__ =='__main__'】【os模块】

原文地址:https://www.cnblogs.com/guoruxin/p/10490997.html

时间: 2024-08-27 09:39:23

python(30)——【random模块】【if __name__ =='__main__'】【os模块】的相关文章

python中关于不执行if __name__ == '__main__':测试模块的解决

1.新建测试脚本文件: 2.编辑测试脚本 import unittest import requests import json import HTMLTestRunner ur1 = 'http://118.178.247.67:8081/systLogonUser/adminLogon.do' headers = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} data = { '

(转)Python中如何理解if __name__ == '__main__'

摘要 通俗的理解 __name__ == '__main__' :假如你叫李凯.py,在朋友眼中,你是李凯( __name__ == '李凯' ):在你自己眼中,你是你自己( __name__ == '__main__' ). if __name__ == '__main__' 的意思是:当.py文件被直接运行时, if __name__ == '__main__' 之下的代码块将被运行:当.py文件以模块形式被导入时, if __name__ == '__main__' 之下的代码块不被运行.

python unittest不执行"if __name__ == '__main__' "问题

问题: selenium导入unittest框架和HtmlReport框架后,HtmlReport不被执行. 假设代码为: from selenium import webdriver import unittest class Test(unittest.TestCase): print "this is class Test" def setup(self): print "this is setup" def test_1(self): print "

Python之路【第五篇】:Python基础(20)——模块、序列化、os模块

常用模块 time模块 time.time() import time import datetime print(time.time()) # 返回当前时间的时间戳 time.ctime() print(time.ctime()) # 将时间戳转化为字符串格式Wed Feb 17 11:41:27 2016,默认是当前系统时间的时间戳 print(time.ctime(time.time()-3600)) # ctime可以接收一个时间戳作为参数,返回该时间戳的字符串形式 Wed Feb 17

Python基础(11)_python模块之time模块、rando模块、hashlib、os模块

一.模块 1.什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀 模块的本质:模块的本质是一个py文件 2.模块分为三类:1)内置模块:2)第三方模块:3)自定义模块 3.使用模块的目的: 退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script. 随着程序的发展,功能越来越多,为了方便管理,我

Python之路(第十四篇)os模块

一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变当前工作目录,os.chdir()参数为路径 import os print(os.getcwd()) print(os.chdir(r"d:\python\exercise\test_package\a")) print(os.getcwd()) 输出结果 D:\06python\exe

Python文件与文件系统(2)——os模块对文件、文件系统操作的支持

三.文件系统操作 os模块的功能主要包括文件系统部分和进程部分,这里介绍其中与文件系统相关的部分. 当请求操作系统失败时,os模块返回内置异常 exceptions.OSError 的实例,可以通过 os.error 访问这个类型,OSError的实例有三种属性: errno:操作系统错误的错误代码 strerror:描述错误的字符串: filename:操作在哪个文件上出错. os模块提供的有用属性 >>> os.curdir'.' 表示当前目录的字符串,Unix和Windows上都是

常用模块(1)os模块

1.os  模块 import os    #os模块作用对操作系统的一些操作 print(os.getcwd())#取当前工作目录 os.chmod("x.py",2)#给文件/目录加权限(linux好使),对Windows的下面不好使  # 1  执   # 2  写 # 4 读   #chmod # print(os.chdir("../day5"))#更改当前目录 上级目录更改  可以相对路径也可绝对目录 # print(os.makedirs("

Python之常用模块(四)os模块和sys模块

5.4 random模块 print(random.random())#在0~1之间随机生成一个浮点数 print(random.uniform(0,10))#在0~10时间随机生成一个浮点数,可以指定范围 print(random.randint(1,10))#随机生成一个整数,可以指定范围 print(random.randrange(1,5,2))#起始终止步长,生成一个数字 print(random.chioce([1,2,3,4,5,6]))#随机选择一个元素 print(random

Python模块之time和os模块的使用【常用非全量】

import timeprint('当前时间戳:%f' % time.time())time.sleep(3) # 暂停3秒继续执行t = time.localtime(1574949906) # 转换时间戳,出来是结构化时间print(time.strftime('%Y-%m-%d %H-%M-%S',t)) # 将结构化时间转化为字符串时间 import osprint(os.getcwd()) # 获取当前工作路径# 以下,目录指的是文件夹os.chdir('..') # 返回上一级目录p