包:是一个文件夹,里面包含.py文件和__init__.py文件。
模块:是一个.py文件。
python中包和模块
python中包和模块一般分为三类:
1、内置的包和模块
2、自定义的包和模块
3、第三方的包和模块
包和模块的下载:
使用pip管理工具,安装:pip install xxx. 卸载:pip uninstall xxx
使用国内的镜像安装速度会快一些,安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/XXX
conda管理工具,安装:conda install xxx. 卸载:conda uninstall xxx
OS模块
OS模块提供了非常丰富的方法来处理文件和目录。
import os
os?? #查看os模块里写了哪些内容,我们可以调用它里面的类,去使用它的方法和功能
print(dir(os))#查看os里有哪些方法
os.mkdir('D:/pythondemo/test1') #创建文件夹test1
#注意:使用mkdir创建目录,上一级目录必须存在,否则会报错。文件夹存在的时候也会报错。
#创建目录,上一级目录不存在,也会创建。
os.makedirs('D:/abc/base/file')
#rmdir:删除指定的空目录,如果目录不为空,则无法删除。
os.rmdir('D:/abc/base/file')
#removedirs 删除空目录,删除之后还会看上一级目录是否为空。如果为空,也会一起删除,直到不为空为止。
os.removedirs('D:/abc/base')
#删除指定文件
os.remove('a.txt')
# rename 重命名文件或文件夹
os.rename('D:/abc/base/file','D:/abc/base/file_new')
os.rename('d.txt','d_new.txt')
#renames 相当于移动文件
os.renames('D:/abc/base/file_new/a.txt','D:/abc/base/a.txt')
#getcwd 返回当前工作的目录
os.getcwd()
#listdir 返回路径下的文件夹
os.listdir()
# system 执行shell命令,0代表执行成功,1代表执行失败。
cmd = 'pip install numpy'
os.system(cmd)
#返回绝对路径
os.path.abspath('a.txt')
#返回当前文件所在的目录
os.path.abspath('.')
#basename 返回路径中最后一部分的内容,不会去判断文件是否存在,只是作为字符串判断去返回最后一部分的内容。
os.path.basename('/Users/csblog/a.txt')
#dirname 返回路径中除了最后一部分的其他内容
os.path.dirname('/Users/csblog/a.txt')
#split将路径拆分成dirname和basename,结果是一个元组
os.path.split('/Users/csblog/a.txt')
#exists判断路径是否存在,如果存在返回True,如果不存在返回False
os.path.exists('/Users/csblog/a.txt')
if os.path.exists('/Users/csblog/a.txt'):
print('存在')
pass
else:
print('不存在')
os.mkdir('/Users/csblog/a.txt')
sys模块
sys模块中提供了一系列与python解释器交互的函数和变量,用于操控python的运行时环境。
#sys.argv:实现从程序外部向程序传递参数
def f(*args):
return args
import sys
#exit()通过引发异常SystemExit,强制退出python
sys.exit()
#可以对异常进行捕获
try:
sys.exit()
except:
print('捕捉到了异常')
print('其他代码')
#sys.path:获取模块的搜索路径,初始值为环境变量pythonpath的值。
sys.path
sys.path.append('PycharmProjects/pythonProject/day01') #添加demo.py文件所在的路径
import demo #导入demo.py文件
with open('b.txt',mode='w') as f: #创建b.txt文件,模式为写
print('hello python',file=f) #在b.txt文件中写入内容‘hello python’
logging日志
日志的级别,由低到高依次为:DEBUG INFO WARNING ERROR CRITICAL
日志的默认级别是WARNING,可通过level进行修改设置
format:
- %(levelname)s:日志级别名称
- %(name)s:日志器名称
- %(message)s:日志信息
- %(asctime)s:日志时间
datefmt:设置时间格式
import logging
logging.basicConfig(level=logging.INFO,
format='%(asctime)s--%(levelname)s--%(message)s',
datefmt='%Y%m%d %H:%M:%S')
logging.debug('这是DEBUG')
logging.info('这是INFO')
logging.warning('这是WARNING')
logging.error('这是ERROR')
logging.critical('这是CRITICAL')
问题
Q1:已经设置了时分秒,但运行结果却没有显示,不知道哪里出问题。
目录