python基础入门——内置模块1 (random,math,os,os.path,模块的引入)

概念:
一个py或者一些py文件的总称,这些文件一般都是为某一特定的功能而写代码
分类:
(1)系统模块

  • 由官方提供,默认安装
    (2)第三方模块
  • 非官方的,有第三方提供,使用必须下载安装
    (3)自定义模块
  • 将自己写的py文件导入到其他py文件中使用

主要看系统模块:
一,模块的导入
在使用模块时,必须先要把模块导进来,才能正常使用
格式

   (1)      import  package/(模块名称)
   (2)      import  package.module
   (3)      from     package/(模块)   import    module/(子模块)      
   (4)      from     package   as     alisa      #包名比较长,又要多次用,可以给取别名 , 后使用时直接写别名就好了。

二,random模块
使用的方法:
(1)random 返回[0,1)区间的随机数

>>> import random
>>> random.random()
0.9098609195652997
>>> random.random()
0.7023274268820822
>>> random.random()
0.8391657759060349

(2)randint
random.randint(x,y)
返回[x,y]区间的随机整数,注:x,y必须也是整数

>>> import random
>>> random.randint(2,8)
4
>>> random.randint(2,8)
7
>>> random.randint(2,8)
5

(3)choice #在一个序列中随机返回元素

>>> a = ["xixi","haha","hehe"]
>>> a
['xixi', 'haha', 'hehe']
>>> random.choice(a)
'hehe'
>>> random.choice(a)
'haha'
>>> random.choice(a)
'hehe'
>>> random.choice(a)
'hehe'

(4)randrange

>>> random.randrange(3)      #随机产生[0,3)的整数
0
>>> random.randrange(1,3)     #随机产生[1,3)的整数
2

三,math模块
存在于大量的编程语言,用来操作数学运算
(1)ceil :向上取整,只要存在小数,则向上取整

>>> import math
>>> math.ceil(5.23)
6
>>> math.ceil(5.01)
6

(2)floor :向下取整

>>> math.floor(5.01)
5
>>> math.floor(5.99)
5

(3)e :自然常数
pi :圆周率

>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793

(4)fabs 取绝对值

>>> math.fabs(-6)
6.0
>>> math.fabs(6)

(6)fmod 取模(余)

>>> math.fmod(6,4)
2.0

(7)pow 幂次方

>>> math.fmod(6,4)
2.0

(8)sqrt :开平方

>>> math.sqrt(9)
3.0
>>> math.sqrt(8)
2.8284271247461903

四,os模块
目的:用来操作操作系统的文件系统

引入模块
>>> import os

(1)该属性表示当前路径,显示的为相对路径
>>> os.curdir               
'.'2)获取的是绝对路径,两个\\是,第一个为转义符,第二个为目录路径的分隔,所以在写路径时,必须\\
>>> os.getcwd()
'C:\\Users\\leixinmiao'3)遍历得到当前工作空间下的所有文件及文件夹,返回一个列表
>>> os.listdir()
['.PyCharm2017.1', '.VirtualBox', '.vscode', 'AppData', 'Application Data', 'Contacts', 'Cookies', 'Desktop', 'Documents', 'Downloads',4)与(3)功能相同,但返回的是一个迭代器
>>> os.scandir()    注:里面不能写参数
<nt.ScandirIterator object at 0x00AFCF40>
>>> for i in os.scandir():
...     print(i)
...
<DirEntry 'b'>
<DirEntry 'dama'>
<DirEntry 'lianxi'>
注:绝对路径是指完整的路径,相对路径是相对于当前文件的路径,  "."表示当前目录,“..”表示上一层目录。

修改当前工作的空间路径

>>> os.chdir("E:\\python\\2020-2-17\\新建文件夹")
>>> os.getcwd()
'E:\\python\\2020-2-17\\新建文件夹'
>>> os.listdir()
[]            表示当前路径下没有任何文件

>>> os.listdir()        新建一个hhh.txt,就会出现
['hhh.txt']     

获取当前系统的CPU核数

>>> os.cpu_count()
4

用\表示一级与另一级的分隔,不同的系统使用不同的分隔方式,代码运行在什么系统并不能确定,所以一般不手写,使用
sep 获取系统对应的分件分隔符(调用)

>>> os.sep
'\\'

在python代码中执行某个命令
eg:清屏

os.system("cls")

文件夹的创建:

>>> os.mkdir("a")
>>> os.makedirs("b/c")

删除操作:

1)删除文件
>>> os.remove("a.txt")
不能删除文件夹
>>> os.remove("a")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] 拒绝访问。: 'a'         权限不够

(2)删除文件夹 一级删除
>>> os.removedirs("a")
>>> os.removedirs("b/c")     (在目录下为空时,多级删除,全部删除)
注: 
目录下创建一文件,删除失败
>>> os.makedirs("b/c")     
>>> os.removedirs("b/c")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\python\bianyiqi\lib\os.py", line 239, in removedirs
    rmdir(name)
OSError: [WinError 145] 目录不是空的。: 'b/c'
删除文件夹,只删除最后一级
>>> os.rmdir("a/b/c")

重命名:

>>> os.rename("s.txt","d.txt")       在当前目录下重命名文件或文件夹
>>> os.rename("E:\\python\\2020-2-17\\b\\c.txt","x.txt")   
结果就是指定的c.txt不存在,以x.txt出现在当前工作目录下  
 
>>> os.rename("E:\\python\\h\\dd.txt","E:\\python\\h\\s.txt")   指定目录,重命名。

可以重新命名多级
 os.renames("E:\\python\\2020-2-17\\b\\s.txt","E:\\python\\2020-2-17\\f\\v.txt")

os.path
是os模块的子模块,主要用来操作文件,与os配合使用


>>> from os import path
>>> os.path.basename
<function basename at 0x02C8E6A0>2>>> from os import path as o
>>> o.abspath(".")    显示相对路径的绝对路径
'E:\\python\\2020-2-17'
>>> o.basename("t\s.txt")    显示路径对应的最后的文件名称
's.txt'

遍历当前磁盘下的文件

import os
from os import path


def scanner_file(url):            
	#使用递归来遍历path对应的磁盘数据
	files = os.listdir(url)    # 返回是当前路径下的文件及文件夹列表
	for f in files:        #因为列表可以遍历         
		# real_path = url + "/" + f     #拼接路径,但"\"不一定所有系统的都识别
		# real_path = url + os.sep + f    #所以获取文件分隔符
		real_path = path.join(url, f)     #拼接
		  #判断是否是文件或文件夹
		if path.isfile(real_path):      #是文件    
			print(real_path)

		else
			scanner_file(real_path)    #使用递归



scanner_file("f://")  #输入要遍历的路径

os.path方法:

abspath		# 显示相对路径的绝对路径
basename		# 一般而言,显示路径对应的文件名称 
exists		# 判断文件或者文件夹是否存在
getsize		# 获取文件的大小
isdir		# 判断是否是目录
isfile		# 判断是否是文件
join		# 拼接路径
split		# 分割文件路径
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值