Python标准库:os、shutil、glob、sys、pickle

一、os

import os

1.文件和目录操作

(1).获取当前路径

os.getcwd()
'C:\\Users\\BQW\\Python语法'

(2).当前文件夹中的内容

os.listdir(os.curdir) # os.listdir('.')
['.ipynb_checkpoints',
 'Python中的元组、列表、字典和集合.ipynb',
 'Python函数介绍.ipynb',
 'Python异常处理.ipynb',
 'Python文件操作.ipynb',
 'Python标准库:os、shutil、glob、sys、pickle.ipynb',
 'Python类介绍.ipynb',
 'Python迭代与列表推导.ipynb',
 'test.pkl',
 'test.txt',
 'write_test.txt']

(3).创建目录

os.mkdir('junkdir')
'junkdir' in os.listdir(os.curdir)
True

(4).重命名目录

os.rename('junkdir','foodir')
'junkdir' in os.listdir(os.curdir)
'foodir' in os.listdir(os.curdir)
True

(5).删除目录

os.rmdir('foodir')
'foodir' in os.listdir(os.curdir)
False

(6).删除文件

fp = open('junk.txt','w')
fp.close()
'junk.txt' in os.listdir(os.curdir)
True
os.remove('junk.txt')
'junk.txt' in os.listdir(os.curdir)
False

2.路径操作

fp = open('junk.txt','w')
fp.close()

(1).获取文件的绝对路径

a = os.path.abspath('junk.txt')
a
'C:\\Users\\BQW\\Python语法\\junk.txt'

(2).拆分文件名和路径名

os.path.split(a)
('C:\\Users\\BQW\\Python语法', 'junk.txt')

(3).获取路径名

os.path.dirname(a)
'C:\\Users\\BQW\\Python语法'

(4).获取文件名

os.path.basename(a)
'junk.txt'

(5).拆分文件名与后缀

os.path.splitext(os.path.basename(a))
('junk', '.txt')

(6).判断文件是否存在

os.path.exists('junk.txt')
True

(7).判断是否是文件

os.path.isfile('junk.txt')
True

(8).判断是否是目录

os.path.isdir('junk.txt')
False

(9).扩展用户目录

os.path.expanduser('~\local')
'C:\\Users\\BQW\\local'

(10).拼接路径

os.path.join(os.path.expanduser('~'),'local','user')
'C:\\Users\\BQW\\local\\user'

3.运行外部命令

os.system('dir')
0

4.遍历目录

for dirpath,dirnames,filenames in os.walk(os.curdir):
    for fp in filenames:
        print(os.path.abspath(fp))

5.环境变量

os.environ.keys()  # 列出所有环境变量
os.environ['PYTHONPATH']  # 取具体的环境变量

二、shutil:高等级的文件操作

shutil提供的文件操作有:

  1. shutil.rmtree:递归的删除目录树
  2. shutil.move:递归的移动文件或者目录
  3. shutil.copy:赋值文件或者目录

三、glob:文件的模式匹配

import glob
glob.glob('*.ipynb')
['Python中的元组、列表、字典和集合.ipynb',
 'Python函数介绍.ipynb',
 'Python异常处理.ipynb',
 'Python文件操作.ipynb',
 'Python标准库:os、shutil、glob、sys、pickle.ipynb',
 'Python类介绍.ipynb',
 'Python迭代与列表推导.ipynb']

四、sys:Python系统的具体信息

import sys

1.系统平台

sys.platform
'win32'

2.系统版本

sys.version
'3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)]'

3.系统前缀

sys.prefix
'D:\\Anaconda3'

4.系统参数

sys.argv
['D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py',
 '-f',
 'C:\\Users\\BQW\\AppData\\Roaming\\jupyter\\runtime\\kernel-ae9ffc94-7bd2-4c54-9afe-ec10340873e6.json']

5.搜索路径

sys.path
['',
 'D:\\python2.7\\Lib\\site-packages\\theano',
 'D:\\Anaconda3\\python36.zip',
 'D:\\Anaconda3\\DLLs',
 'D:\\Anaconda3\\lib',
 'D:\\Anaconda3',
 'D:\\Anaconda3\\lib\\site-packages',
 'D:\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.6-py3.6.egg',
 'D:\\Anaconda3\\lib\\site-packages\\win32',
 'D:\\Anaconda3\\lib\\site-packages\\win32\\lib',
 'D:\\Anaconda3\\lib\\site-packages\\Pythonwin',
 'D:\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.6.egg',
 'D:\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\BQW\\.ipython']

五、pickle:简单的持久化

import pickle
l = [1,None,'Stan']
fp = open('test.pkl','wb')
pickle.dump(l,fp)
fp.close()
fp = open('test.pkl','rb')
print(pickle.load(fp))
fp.close()
[1, None, 'Stan']

你可能感兴趣的:(Python)