第五章 模块之 getpass、sys、os
5.5 getpass 密码不显示(只能在终端运行)
密码不显示(只能在终端运行)
import getpass
pwd = getpass.getpass('请输入密码:')
if pwd == '123':
print('输入正确')
5.6 sys 解释器相关模块
sys.getrefcount,获取一个值的应用计数
import sys
a = [11,22,33]
b = a
print(sys.getrefcount(a)) # 3sys.getrecursionlimit,python默认支持的递归数量
import sys
print(sys.getrecursionlimit()) # 1000sys.stdout.write ----> print (可以查看进度)
import time
for i in range(1,101):
mag = "%s%%\r" %i
print(mag,end="")
time.sleep(0.05) #从1%长到100%import os
# 1.读取文件大小(字节)
file_size = os.stat('day001.zip').st_size# 文件大小
# 2.一点一点的读取文件
read_size = 0 # 阅读大小
with open('day001.zip',mode='rb') as f1 , open ('a.zip',mode='wb') as f2:
while read_size < file_size:
chunk = f1.read(1024) #每次最多读取1024字节
f2.write(chunk)
read_size += len(chunk) #阅读大小=阅读大小+读取长度
val = int(read_size/file_size * 100) # 求当前读取%数
print('%s%%\r'%val,end='')sys.argv 获取用户执行脚本时,传入的参数。
"""
让用户执行脚本传入要删除的文件路径,在内部帮助用将目录删除。
C:\Python36\python36.exe D:/code/s21day14/7.模块传参.py D:/test
C:\Python36\python36.exe D:/code/s21day14/7.模块传参.py
"""
import sys
# 获取用户执行脚本时,传入的参数。
# C:\Python36\python36.exe D:/code/s21day14/7.模块传参.py D:/test
# sys.argv = [D:/code/s21day14/7.模块传参.py, D:/test]
path = sys.argv[1]
# 删除目录
import shutil
shutil.rmtree(path)sys.path 模块搜索 默认Python去导入模块时,会按照sys.path中的路径挨个查找。
# import sys
# sys.path.append('D:\\')
# import oldboysys.exit(0) 终止程序
sys.modules 存储当前程序用到的所有模块,反射文件中的内容
import demo # 导入自定义py文件
import sys
print(demo)
print(sys.modules)
print(demo is sys.modules['demo'])
print(getattr(sys.modules['demo'],'a'))
5.7 os 操作系统相关
os.path.exists(path) 判断文件目录是否存在 , 如果path存在,返回True;如果path不存在,返回False
os.path.isfile(path) 判断文件是否存在
os.path.basename(file_path) 获取文件名
os.stat('文件').st_size , 获取文件大小
os.path.getsize(path) 获取文件大小
os.path.abspath() , 获取一个文件的绝对路径 (
__file__)获取当前文件绝对路径os.path.isabs(path) 判断是否为绝对路径
path = '20190409_192149.mp4' # E:\Python_WorkSpace\day014 装饰器带参数\day001.zip
import os
v1 = os.path.abspath(path)
print(v1)
# E:\Python_WorkSpace\day014 装饰器带参数\day001.zip
# 获取当前文件的绝对路径
a = os.path.abspath(__file__)
print(a)os.path.dirname ,获取路径的上级目录
import os
v = r"E:\Python_WorkSpace\day014 装饰器带参数\day001.zip"
print(os.path.dirname(v))
# E:\Python_WorkSpace\day014 装饰器带参数os.path.join ,路径的拼接
import os
path = "E:\Python_WorkSpace\day014" # user/index/inx/fasd/
v = 'n.txt'
result = os.path.join(path,v)
print(result)
result = os.path.join(path,'n1','n2','n3')
print(result)
# E:\Python_WorkSpace\day014\n.txt
# E:\Python_WorkSpace\day014\n1\n2\n3os.listdir , 查看一个目录下所有的文件【第一层】
import os
result = os.listdir(r'E:\Python_WorkSpace\day014 装饰器带参数')
for path in result:
print(path)os.walk , 查看一个目录下所有的文件【所有层】
import os
result = os.walk(r'E:\Python_WorkSpace\day014 装饰器带参数')
for a,b,c in result:
# a,正在查看的目录 b,此目录下的文件夹 c,此目录下的文件
for item in c:
path = os.path.join(a,item)
print(path)os.makedirs,创建目录和子目录
import os
file_path = r'db\xx\xo\xxxxx.txt' # 文件路径
file_folder = os.path.dirname(file_path) # 文件夹
if not os.path.exists(file_folder): # 判断文件夹是否存在
os.makedirs(file_folder) # 创建文件夹
with open(file_path,mode='w',encoding='utf-8') as f:
f.write('asdf')os.renname,重命名
import os
os.rename('db','sb')
第五章 模块之 getpass、sys、os的更多相关文章
- 第十篇、模块一、sys\os\hashlib模块的应用
一.模块分为三种 1)自定义模块 2)第三方模块 3)内置模块 如何导入模块? 下面两种: 1)import 模块名字 as 别名(重新给模块命名) 2)from 模块名字 import 功能( ...
- 8.2,常用模块介绍:sys,os,time,random
sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 ...
- day18 python模块 random time sys os模块
day18 python 一.random模块 取随机整数 import random print(random.randint(1,2)) #顾头顾尾 p ...
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处 ...
- day20 模块 collections time sys os
1.模块 1. 模块的定义:我们把装有特定功能的代码进行归类的结果.我们目前写的所有py文件都是模块 2. 引入模块的方式: 1.import 模块名 2.from xxx import 模块名 2. ...
- 第五章 模块之 struct、dis、正则表达式、异常处理
5.15 struct模块 pack 能够把所有的数字都固定的转换成4字节 5.16 dis dis.dis 查看计算机指令 5.16 正则表达式 基础 正则表达式概念: 是一种规则(元字符,量词) ...
- 第五章 模块之 shtil 、 json / pickle、importlib、collections
5.8 shtil 高级的 文件.文件夹.压缩包 处理模块 shutil.rmtree 删除目录 import shutilshutil.rmtree(path) shutil.move 重命名:移动 ...
- 第五章 模块之 logging、copy、re
5.12 logging 日志模块 报警等级 CRITICAL = 50 # 最高FATAL = CRITICALERROR = 40WARNING = 30WARN = WARNINGINFO = ...
- Python学习系列----第五章 模块
5.1 如何引入模块 在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入.在调用math模块中的函数时,必须这样引用: ...
随机推荐
- 深入理解JVM虚拟机13:再谈四种引用及GC实践
Java中的四种引用类型 一.背景 Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收.Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分 ...
- 项目管理工具_maven的配置
<parent> <groupId>cn.itcast.maven</groupId> <artifactId>Parent</artifactI ...
- sem_init重复调用引发sem_wait线程无法被唤醒
问题 一段老代码,两个线程,一个线程调用sem_wait等待信号量,另外一个线程在某失败分支会调用sem_init清信号量,结果导致sem_wait线程无法被唤醒: 分析 Linux manpage ...
- 深度学习面试题27:非对称卷积(Asymmetric Convolutions)
目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...
- [设计原则与模式] 如何理解TDD的三条规则
cp from : https://blog.csdn.net/ibelieve1974/article/details/54948031 如何理解Bob大叔的TDD三条规则?第一条和第三条讲的是 ...
- MFC GDI+显示GIF文件《转》
在头文件里面添加: Image* image; GUID Guid ; UINT frameCount; UINT framePos;ULONG_PTR gdiplusToken; afx_msg v ...
- 【Java文件】按UTF-8编码读取文本文件(逐行方式),排序,打印到控制台
代码: package findJavaMemberFunction; import java.io.BufferedReader; import java.io.FileInputStream; i ...
- 微信小程序不同机型的兼容布局解决
因为小程序是以微信为平台运行的,可以同时运行在android与ios的设备上,所以不可避免的会遇到布局适配问题,特别是在iphone5上,因为屏幕尺寸小的缘故,也是适配问题最多的机型,下面就简单介绍几 ...
- 漏洞分析:OpenSSH用户枚举漏洞(CVE-2018-15473)分析
漏洞分析:OpenSSH用户枚举漏洞(CVE-2018-15473)分析 漏洞分析:OpenSSH用户枚举漏洞(CVE-2018-15473)分析 - FreeBuf互联网安全新媒体平台 https: ...
- javaweb--Rest访问(RestTemplate)
Rest访问(RestTemplate)在实际的项目中,往往需要发送一个Get/Post请求到其他的系统(Rest API),比如向人员管理部门请求,然后解析返回信息获取该用户的基本信息等.JDK传统 ...