python 系统操作练习 os模块

技术QQ交流群:294088839

#  文件与目录的操作
# 文件的打开与创建
# 文件读取
# 文件写入
# 内容查找和替换
# 文件删除 复制 重命名
# 目录操作

# 读写操作
# open 打开 w形式打开 会自动创建文件
# fo = open('test.txt', 'r+')
# 读取 read
# print(fo.read())
# write 写入
# fo.write('json')

# 文件对象方法
# f1 = open('test.txt')
# readlines 返回一个列表
# print(f1.readlines())
# write
# 格式: fileObj.write()
# 说明 wirte 和后面的writelines 在写入前会清除文件中原来的所有的数据
# 在重新写入新的内容
# writelines
# 格式 fileObj.writelines()
# 说明:多行写 效率比write高 速度更快 少量写入可以使用write
# q = ['json\n', 'age\n', 'test\n']
# f1 = open('test.txt','a')
# f1.writelines(q)
# f1.close()

# python 指针
# f1 = open('test.txt','r')
# f1.seek(0, 0)
# print(f1.read())
# seek 指针
# fileObj.seek(偏移量, 选项)
# 选项 =0时 表示将文件指针指向从文件头部到偏移量字节处
# 选项 =1时 表示将文件指针指向从文件的当前位置,向后移动"偏移量"字节
# 选项 =2时 表示将文件指针指向从文件的尾部, 向前移动偏移量字节
# flush 文件提交更新 在写入文件还没有执行完毕的时候 就会提交更新生效
# 文件查找 统计字符串在文件里的出现的次数
# fo = open('test.txt', 'r')
# str_1 = fo.read()
# print(str_1.count('json'))
# 文件内容替换
# 把 文件中的 json 换成 hello
# fo = open('test.txt', 'r+')
# str_1 = fo.read()
# fo.seek(0,0)
# str_2 =str_1.replace('json', 'hello')
# fo.writelines(str_2)
# fo.close()

# os模块 对系统直接进行操作
import os
# 创建目录 mkdir mode 为第二个参数 目录权限设置
# os.mkdir("D:\pythonProject\pythonStuy\\2018.8.10\json")
# 创建多级目录 makedirs
# os.makedirs('json\whl\eqweq')
# rmdir 删除目录
# os.rmdir('json\whl\eqweq')
# 删除多级目录
# os.removedirs('json\whl')
# 获取当前目录里的内容 listdir 不包括子目录
# print(os.listdir('.'))
# print(os.listdir('F:/php'))
# 当前路径 getcwd
# print(os.getcwd())
# 切换目录 chdir
# os.chdir('F:/php')
# print(os.listdir())

# 使用python 遍历一个目录
# def getUrl(path):
#     pathList = os.listdir(path)
#     # 文件的绝对路径
#     arr = []
#     for i in pathList:
#          # 第一种拼接
#          # arr.append(filepath+"/"+i)
#          # 第二种拼接
#         fpath = os.path.join(path, i)
#         if os.path.isdir(fpath):
#             getUrl(fpath)
#         else:
#             arr.append(fpath)
#     return arr
#
# print(getUrl('D:\pythonProject\pythonStuy\\2018.8.10\json'))

# os.walk() 方法
# 该函数返回一个元祖 该元组有3个元素 这三个元素分别表示每次遍历的路径名目录列表和文件列表
# 返回生成器
# a = os.walk('json')
# for path,d,list in a:
#     for name in list:
#         print(os.path.join(path,name))

# 异常处理
# 例:
# open('dasd.txt')
# 异常以及异常抛出
# 异常抛出机制 为程序开发人员提供了一种在运行时发现错误
# 进行回复处理 然后继续执行的能力
# 例
# try:
#     f = open('dasd.das','r')
# except IOError as e:
#     print(e)
# 另一种异常处理
# a = input('请输入json')
# if a == 'json':
#     print(IOError('我输得好彻底'))

# 异常名称    描述
# BaseException    所有异常的基类
# SystemExit    解释器请求退出
# KeyboardInterrupt    用户中断执行(通常是输入^C)
# Exception    常规错误的基类
# StopIteration    迭代器没有更多的值
# GeneratorExit    生成器(generator)发生异常来通知退出
# StandardError    所有的内建标准异常的基类
# ArithmeticError    所有数值计算错误的基类
# FloatingPointError    浮点计算错误
# OverflowError    数值运算超出最大限制
# ZeroDivisionError    除(或取模)零 (所有数据类型)
# AssertionError    断言语句失败
# AttributeError    对象没有这个属性
# EOFError    没有内建输入,到达EOF 标记
# EnvironmentError    操作系统错误的基类
# IOError    输入/输出操作失败
# OSError    操作系统错误
# WindowsError    系统调用失败
# ImportError    导入模块/对象失败
# LookupError    无效数据查询的基类
# IndexError    序列中没有此索引(index)
# KeyError    映射中没有这个键
# MemoryError    内存溢出错误(对于Python 解释器不是致命的)
# NameError    未声明/初始化对象 (没有属性)
# UnboundLocalError    访问未初始化的本地变量
# ReferenceError    弱引用(Weak reference)试图访问已经垃圾回收了的对象
# RuntimeError    一般的运行时错误
# NotImplementedError    尚未实现的方法
# SyntaxError    Python 语法错误
# IndentationError    缩进错误
# TabError    Tab 和空格混用
# SystemError    一般的解释器系统错误
# TypeError    对类型无效的操作
# ValueError    传入无效的参数
# UnicodeError    Unicode 相关的错误
# UnicodeDecodeError    Unicode 解码时的错误
# UnicodeEncodeError    Unicode 编码时错误
# UnicodeTranslateError    Unicode 转换时错误
# Warning    警告的基类
# DeprecationWarning    关于被弃用的特征的警告
# FutureWarning    关于构造将来语义会有改变的警告
# OverflowWarning    旧的关于自动提升为长整型(long)的警告
# PendingDeprecationWarning    关于特性将会被废弃的警告
# RuntimeWarning    可疑的运行时行为(runtime behavior)的警告
# SyntaxWarning    可疑的语法的警告
# UserWarning    用户代码生成的警告

猜你喜欢

转载自blog.csdn.net/Drug_/article/details/81567823