• Python os模块


    1. import os
    2. >>>os.getcwd() #获取当前工作路径
    3. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310'
    4. >>>os.chdir() #切换工作路径
    5. >>>os.environ #获取全部环境变量
    • 获取的环境变量
      • 在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置
    >>>environ({'ADAMA_GUI_LOCALE': 'Chinese', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\LX\\AppData\\Roaming', 'AWE_DIR': 'D:\\Program Files (x86)\\Khrona LLC\\Awesomium SDK\\1.6.6\\', 'CLASSPATH': 'D:\\LINGO64_18\\Lingo18.jar', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'LAPTOP-I2E9EJJA', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'HOME': 'C:\\Users\\LX', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\LX', 'LINGO64_18_HOME': 'D:\\LINGO64_18\\', 'LOCALAPPDATA': 'C:\\Users\\LX\\AppData\\Local', 'LOGONSERVER': '\\\\LAPTOP-I2E9EJJA', 'MAXWELL4_LICENSE_SERVER': 'D:\\Program Files\\Next Limit\\rlm', 'MSCLIC_INI': 'C:\\Program Files\\MSC.Software\\MSC Licensing\\Helium\\msclic.ini', 'MSMPI_BENCHMARKS': 'C:\\Program Files\\Microsoft MPI\\Benchmarks\\', 'MSMPI_BIN': 'C:\\Program Files\\Microsoft MPI\\Bin\\', 'NUMBER_OF_PROCESSORS': '16', 'ONEDRIVE': 'C:\\Users\\LX\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\LX\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'D:\\ProgramData\\Anaconda3;D:\\ProgramData\\Anaconda3\\Library\\mingw-w64\\bin;D:\\ProgramData\\Anaconda3\\Library\\usr\\bin;D:\\ProgramData\\Anaconda3\\Library\\bin;D:\\ProgramData\\Anaconda3\\Scripts;C:\\Program Files\\Microsoft MPI\\Bin\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\MATLAB\\R2016a\\runtime\\win64;C:\\Program Files\\MATLAB\\R2016a\\bin;C:\\Program Files\\MATLAB\\R2016a\\polyspace\\bin;D:\\Program Files\\Polyspace\\R2020b\\runtime\\win64;D:\\Program Files\\Polyspace\\R2020b\\bin;D:\\Program Files\\Polyspace\\R2020b\\polyspace\\bin;C:\\Program Files (x86)\\Wolfram Research\\WolframScript\\;D:\\LINGO64_18\\;C:\\Users\\LX\\Downloads\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin;C:\\Users\\LX\\Downloads\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin;D:\\bin;C:\\Program Files\\Graphviz\\bin;D:\\Git\\cmd;C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\;C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\;C:\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\;C:\\Users\\LX\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\LX\\AppData\\Local\\GitHubDesktop\\bin;D:\\texlive\\2021\\bin\\win32;C:\\Users\\LX\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD', 'PROCESSOR_LEVEL': '25', 'PROCESSOR_REVISION': '5000', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\Users\\LX\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\LX\\AppData\\Local\\Temp', 'USERDOMAIN': 'LAPTOP-I2E9EJJA', 'USERDOMAIN_ROAMINGPROFILE': 'LAPTOP-I2E9EJJA', 'USERNAME': 'LX', 'USERPROFILE': 'C:\\Users\\LX', 'WINDIR': 'C:\\WINDOWS'})
    • os.getlogin()  获取控制终端的用户用户名
    1. >>>os.getlogin()
    2. >>>'LX'
    • os.name  返回python运行的环境系统
    1. >>>os.name
    2. >>>'nt'
    3. #Windows #nt
    4. #Mac OS Linux #posix
    • os.mkdir("")  创建一个新文件夹
    1. >>>os.mkdir("for test")
    2. >>>os.getcwd()
    3. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310'
    4. >>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test")
    5. >>>os.getcwd()
    6. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test'
    • os.makedirs()   创建多级目录
    os.makedirs("test1/trial")
    • os.rmdir()  删除空文件夹
    • os.removedirs() 递归删除目录  如果成功删除最后一个文件夹,它将继续删除上一级文件夹直到文件夹不为空
    1. >>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test")
    2. >>>os.rmdir("test1")
    3. >>>Traceback (most recent call last):
    4. File "", line 1, in <module>
    5. os.rmdir("test1")
    6. OSError: [WinError 145] 目录不是空的: 'test1'
    7. >>>os.rmdir("trial")
    8. >>>Traceback (most recent call last):
    9. File "", line 1, in <module>
    10. os.rmdir("trial")
    11. FileNotFoundError: [WinError 2] 系统找不到指定的文件: 'trial'
    12. >>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
    13. >>>os.rmdir("trial")
    • os.remove("") 删除文件
    1. os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
    2. os.remove("1.txt")
    • os.rename()  重命名和移动位置
    1. source = "C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\2.txt"
    2. destination = "C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\2.txt"
    3. os.rename(source,destination)

    os.path 模块

    • os.path  获取当前环境的路径
    1. >>>os.path
    2. >>><module 'ntpath' from 'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\lib\\ntpath.py'>
    • os.path.abspath(path)
      • 这并不会检查是否真的存在某个文件或文件夹
      • 返回一串path
    1. >>>os.path.abspath("1.txt")
    2. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt'
    3. >>>os.path.abspath("Filereceive")
    4. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\Filereceive'
    • os.path.exists(path)
      • 会检查是否每个文件(夹)都存在
    1. os.path.exists('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\Filereceive')
    2. False
    •  os.path.split()   
      • 返回一个含两个元素的元组
      • 包括除最后一个文件(夹)以外的部分和最后一个文件(夹)
      • 他并不会检验路径是否真实存在,只是会简单得分割 string[::-1].split("\\")[1:]也能起到差不多的效果
    1. os.path.split("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt")
    2. ('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1', '3.txt')
    3. os.path.split("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\30.txt")
    4. ('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1', '30.txt')
    • os.path.getatime(path)
      • 返回该路径最后的访问时间
      • 需要使用time模块转换成比较友好的模式
    1. >>>import time
    2. >>>visit_time = os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt')
    3. >>>Traceback (most recent call last):
    4. File "", line 1, in <module>
    5. visit_time =
    6. os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt')
    7. File "C:\Users\LX\AppData\Local\Programs\Python\Python310\lib\genericpath.py", line 60, in getatime
    8. return os.stat(filename).st_atime
    9. FileNotFoundError: [WinError 2] 系统找不到指定的文件。:
    10. >>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt'
    11. >>>visit_time = os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt')
    12. >>>real_time = time.localtime(visit_time)
    13. >>>real_time
    14. >>>time.struct_time(tm_year=2022, tm_mon=9, tm_mday=21, tm_hour=8, tm_min=25, tm_sec=36, tm_wday=2, tm_yday=264, tm_isdst=0)
    • os.path.getsize(path)  获取文件大小
    1. >>>os.path.getsize("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt")
    2. >>>0
    • os.path.isfile(path)  判断文件是否存在
      • 建议用一个assert语句 这样可能更清晰得得到你想找出的bug 而不是看着一堆代码发呆  
    1. >>>os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")
    2. >>>False
    3. >>>assert(os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")),"没这个文件"
    4. >>>Traceback (most recent call last):
    5. File "", line 1, in <module>
    6. assert(os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")),"没这个文件"
    7. AssertionError: 没这个文件
    • os.path.isdir(path)   判断文件夹是否存在   
    1. >>>os.path.isdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
    2. >>>True

     os.open  模块

    • 与open;with open;os.fdopen的关系
      • open  需要手动打开和关闭
      • with open  不需要手动打开和关闭
      • os.open   创建操作系统级文件描述符
      • os.fdopen()   从文件描述符中创建一个文件对象  
    • os.open(path,打开方式)
    • 总结 现在用不上。。
  • 相关阅读:
    【CSS】画个三角形或圆形或环
    一文带你搞懂数据库事务
    【Golang】使用代码绘制图表的开源库对比
    ip地址怎么改网速快
    Nuxt3 简单集成 GoogleMap
    nginx做负载均衡服务器,配置动静分离
    学习和认知的四个阶段,以及学习方法分享
    为什么说互联网是最坏的行业
    MybatisPlus整合SpringBoot
    MyBatisCodeHelper Pro3.x新版本插件自由
  • 原文地址:https://blog.csdn.net/Chandler_river/article/details/126964489