官方文档里对于二者区别有这样的描述:

os: This module provides a portable way of using operating system dependent functionality.

翻译:这个模块提供了一种方便的使用操作系统函数的方法

sys:This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

翻译:该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数



os 常用方法

os.remove()  # 删除文件
os.rename()  # 重命名文件
os.walk()  # 生成目录树下的所有文件名
os.chdir()  # 改变目录
os.makir/makedirs  # 创建目录/多层目录
os.rmdir/removedirs  # 删除目录/多层目录
os.listdir()  # 列出指定目录的文件
os.getcwd()  # 取得当前工作目录
os.chmod()  # 改变目录权限
os.path.basename()  # 去掉目录路径,返回文件名
os.path.dirname()  # 去掉文件名,返回目录路径
os.path.join()  # 将分离的各部分组合成一个路径名
os.path.split()  # 返回( dirname(), basename()) # 元组
os.path.splitext()  # 返回 (filename, extension) 元组
os.path.getatime\ctime\mtime  # 分别返回最近访问、创建、修改时间
os.path.getsize()  # 返回文件大小
os.path.exists()  # 是否存在
os.path.isabs()  # 是否为决定路径
os.path.isdir()  # 是否为目录
os.path.isfile()  # 是否为文件

os.path.abspath(__file__)  # 结合 os.path.dirname() 使用,用来返回文件的绝对路径



sys 常用方法

sys.argv  # 命令行参数 list,第一个元素是程序本身路径
sys.modules.keys()  # 返回所有已经导入的模块列表
sys.exc_info()  # 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n)  # 退出程序,正常退出时exit(0)
sys.hexversion  # 获取 python 解释程序的版本值,
sys.version  # 获取python 解释程序的版本信息
sys.maxint  # 最大的Int值
sys.maxunicode  # 最大的Unicode值
sys.modules  # 返回系统导入的模块字段,key是模块名,value是模块
sys.path  # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform  # 返回操作系统平台名称
sys.stdout  # 标准输出
sys.stdin  # 标准输入
sys.stderr  # 错误输出
sys.exc_clear()  # 用来清 I版本