Le vent se lève, il faut tenter de vivre.
纵有疾风起,人生不言弃。 ——瓦雷里《海滨墓园》
先来看看官方解释:
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模块:负责程序与操作系统的交互,提供了访问操作系统底层的接口。
sys模块:负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。
1、os模块的使用
1、 取得当前工作目录(类似Linux中的pwd命令)
os.getcwd()
2、重命名文件
os.rename(oldname, newname)
3、删除文件
os.remove(‘path/filename’) //如果文件在当前工作目录可以直接os.remove(filename)
4、改变当前工作目录到指定的路径(类似Linux中的cd命令)
os.chdir(path) #path为要切换到的新路径
5、更改文件或目录的权限
os.chmod(path, mode)
6、列出指定目录的文件(类似Linux中的ls命令)
os.listdir('dirname')
7、创建 / 删除目录
os.mkdir/makedirs('dirname')创建目录/多层目录
os.rmdir/removedirs('dirname') 删除目录/多层目录
os.path模块:主要用于获取文件的属性
1、返回绝对路径
os.path.abspath(path) #例如 os.path.abspath(".")
2、把路径分割成 dirname 和 basename,返回一个元组
os.path.split(path)
3、把目录和文件名合成一个路径
os.path.join(path1[, path2[, ...]])
详细用法请参考:
Python3 os 文件/目录方法
Python3 os.path() 模块
2、sys模块
1、sys.argv
实现从程序外部向程序传递参数
举例(新建test.py文件):
import sys
print(sys.argv[0]) #argv[0]为文件名
print(sys.argv[1]) #argv[1]为第一个参数
执行 python3 test.py hello,world
运行结果:
test.py
hello,world
2、sys.exit(n)
执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)
例如:
import sys
print("hello")
sys.exit(0)
print("world")
运行结果:
hello
3、sys.path
获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
关于详细sys模块请参考官方文档: