Python os模块

import os

>>>os.getcwd() #获取当前工作路径
>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310'

>>>os.chdir()  #切换工作路径

>>>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()  获取控制终端的用户用户名
>>>os.getlogin()
>>>'LX'
  • os.name  返回python运行的环境系统
>>>os.name
>>>'nt'

#Windows  #nt
#Mac OS Linux   #posix
  
  • os.mkdir("")  创建一个新文件夹
>>>os.mkdir("for test")
>>>os.getcwd()
>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310'

>>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test")
>>>os.getcwd()
>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test'

  • os.makedirs()   创建多级目录
os.makedirs("test1/trial")
  • os.rmdir()  删除空文件夹
  • os.removedirs() 递归删除目录  如果成功删除最后一个文件夹,它将继续删除上一级文件夹直到文件夹不为空
>>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test")
>>>os.rmdir("test1")
>>>Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    os.rmdir("test1")
OSError: [WinError 145] 目录不是空的。: 'test1'
>>>os.rmdir("trial")
>>>Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    os.rmdir("trial")
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'trial'
>>>os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
>>>os.rmdir("trial")
  • os.remove("") 删除文件
os.chdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
os.remove("1.txt")
  • os.rename()  重命名和移动位置
source = "C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\2.txt"
destination = "C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\2.txt"
os.rename(source,destination)

os.path 模块

  • os.path  获取当前环境的路径
>>>os.path
>>><module 'ntpath' from 'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\lib\\ntpath.py'>
  • os.path.abspath(path)
    • 这并不会检查是否真的存在某个文件或文件夹
    • 返回一串path
>>>os.path.abspath("1.txt")
>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt'
>>>os.path.abspath("Filereceive")
>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\Filereceive'
  • os.path.exists(path)
    • 会检查是否每个文件(夹)都存在
os.path.exists('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\Filereceive')
False
  •  os.path.split()   
    • 返回一个含两个元素的元组
    • 包括除最后一个文件(夹)以外的部分和最后一个文件(夹)
    • 他并不会检验路径是否真实存在,只是会简单得分割 string[::-1].split("\\")[1:]也能起到差不多的效果
os.path.split("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt")
('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1', '3.txt')
os.path.split("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\30.txt")
('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1', '30.txt')
  • os.path.getatime(path)
    • 返回该路径最后的访问时间
    • 需要使用time模块转换成比较友好的模式
>>>import time
>>>visit_time = os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt')
>>>Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    visit_time = 
os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt')
  File "C:\Users\LX\AppData\Local\Programs\Python\Python310\lib\genericpath.py", line 60, in getatime
    return os.stat(filename).st_atime
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 

>>>'C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\1.txt'
>>>visit_time = os.path.getatime('C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt')

>>>real_time = time.localtime(visit_time)
>>>real_time
>>>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)  获取文件大小
>>>os.path.getsize("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\3.txt")
>>>0
  • os.path.isfile(path)  判断文件是否存在
    • 建议用一个assert语句 这样可能更清晰得得到你想找出的bug 而不是看着一堆代码发呆  
>>>os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")
>>>False

>>>assert(os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")),"没这个文件"
>>>Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    assert(os.path.isfile("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1\\300.txt")),"没这个文件"
AssertionError: 没这个文件
  • os.path.isdir(path)   判断文件夹是否存在   
>>>os.path.isdir("C:\\Users\\LX\\AppData\\Local\\Programs\\Python\\Python310\\for test\\test1")
>>>True

 os.open  模块

  • 与open;with open;os.fdopen的关系
    • open  需要手动打开和关闭
    • with open  不需要手动打开和关闭
    • os.open   创建操作系统级文件描述符
    • os.fdopen()   从文件描述符中创建一个文件对象  
  • os.open(path,打开方式)
  • 总结 现在用不上。。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值