Python学习笔记-常用模块介绍--os与sys函数
1.os的基本使用
-
print(os.getcwd()) # 获取当前文件的路径 print(os.makedirs("a/b/c")) # 创建文件夹 # 可以递归创建 os.removedirs("a") # 只能删除空的文件夹 OSError: [WinError 145] 目录不是空的。: 'a' os.removedirs("a/b/c") print(os.listdir(".")) # 列出当前文件的内容 print(os.listdir("..")) # 列出上层的文件的内容 print(os.stat("测试正则匹配.py")) # 查看文件的状态 print(os.stat("测试正则匹配.py").st_size) # 查看文件的状态 print(os.path.getsize("测试正则匹配.py")) # 单位是字节 print(os.name) # 显示操作系统的名字 # windows叫 nt ; linux叫 posix print(os.system("tasklist")) # 会乱码,建议用subprocess print(os.environ) # 获取系统环境变量,是个字典,可以增加 os.environ["name"] = "liqi" # 添加 print(os.environ["name"]) # 取出来 print(os.environ) # 可以用在有些变量需要跨文件获取。暂时没看明白怎么用
2.os的path系列使用
-
print(os.path.abspath("a/b/c")) # 规范化目录 # C:\code\0116\a\b\c print(os.path.split(r"C:\code\0116\a\b\c\t.txt")) # 可以被下面dirname和basename取代 # ('C:\\code\\0116\\a\\b\\c', 't.txt') print(os.path.dirname(r"C:\code\0116\a\b\c\t.txt")) # C:\code\0116\a\b\c print(os.path.basename(r"C:\code\0116\a\b\c\t.txt")) # t.txt
-
print(os.path.exists(r"C:\code\0116\t.txt")) # 判断文件的存在 False print(os.path.isabs(r"C:\code\0116\t.txt")) # 判断路径是否是绝对路径 print(os.path.join("D:","a","t.txt")) # 拼接路径
4.工作中最看中的是你解决问题的能力
- 实际公司,考虑一个新的技术,会让你研究。
- 再派一些基础的活给你,(让你有产出,在这几天)。
- 最后会让你出一个关于这个技术的情况说明。
5.os的路径问题
-
# 需求:找到当前文件的上上级 print(__file__) # :\code\0116\练习os模块.py print(os.path.dirname(os.path.dirname(__file__))) # 方式一 C:\code print(os.path.normpath(os.path.join(__file__,"..",".."))) # 方式二 C:\code
6.sys.argv的基本使用
- 可以拿到终端输入的多个参数
-
import sys print(sys.argv) # 背后的事情是 python C:\\code\\0116\\sys的练习.py # ['C:\\code\\0116\\sys的练习.py']
-
7.如何用sys.argv知识点,改写复制文件的小工具,使其在终端可以一行搞定?
- 原来
-
src = input("源文件地址") dst = input("目标地址") with open(src,mode="rb") as f1,open(dst,mode="wb") as f2: for line in f1: # 这里写f1.readlines()也可以,写f1.read()是错误的。 f2.write(line)
- 改写后:
-
import sys # 需求:在终端一行搞定 src = sys.argv[1] dst = sys.argv[2] with open(src,mode="rb") as f1,open(dst,mode="wb") as f2: for line in f1: f2.write(line) # 终端执行 python .\copy_file.py .\001.py .\005.py
- 效果:
8.(扩展)sys的其他使用
1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 6 sys.platform 返回操作系统平台名称
9.sys.platform查看操作系统平台
-
print(sys.platform) # win32 linux
参考资料:https://www.cnblogs.com/linhaifeng/articles/6384466.html#_label3