算来,摸鱼写代码,都写了一年了。
这一年,我都还是没有搞清楚sys
和os
模块,为啥存在,他们的作用是啥?
今天中秋,我决定,好好研究以下,精通甚于不求甚解。⛽️⛽️
Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
' a test module '
_author_ = 'xilanhua'
import sys
def test():
args = sys.argv
if len(args)==1:
print('hello world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__ == '__main__':
test()
第一行和第二行是标准注释,第一行注释可以让这个hello.py
文件直接在 Unix / Linux / Mac 上进行,第 2 行注释表示 .py 文件本身使用的是 UTF-8 编码。
第 4 行是一个字符串,表示模块的文档注释,任何「模块代码」的第一个字符串都是模块的文档注释。
第 6行使用 __author__
变量把作者写进去,这样以后开源的代码就是有自己姓名的。
上面的,是一个python模块的标准文件模版,也可以删除不写的。
到这里,我们来复习一下什么是「模块」
模块,用一坨代码实现某个功能的代码集合。
类似于函数式的编程和面向过程编程,函数式编程则完成一个功能,其他代码用的时候调用就好,提供了代码的重用性和代码间的耦合。
如:os 是系统相关的模块,file是文件操作相关的模块。
模块一共分为 3种:
- 自定义模块
- 内置模块
- 开源模块
在这里,我们重点来了解一下内置模块。
内置模块
- OS 用于提供系统级别的操作
os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
os.remove() # 删除一个文件
os.rename("oldname", "newname") # 重命名文件 / 文件
- sys 用于提供解释器相关的操作
sys.argv # 命令行参数List,第一个元素是程序本身路径
sys.exit() # 退出程序,正常退出时exit()
参考:
- https://www.cnblogs.com/tengtianshan/p/9726403.html 模块代码
- https://www.liaoxuefeng.com/wiki/897692888725344/923030456892352 使用模块