赞
踩
import os os
模块的导入
取值 | 系统 |
---|---|
nt | windows系统 |
posix | linux系统 |
import os
print(os.name )
print('windows' if os.name=='nt' else 'linux')
info=os.uanme()
包含操作系统类型以及主机名称
(1)操作系统类型
info.sysname()
(2)主机名称
info.nodename()
>>> import os
>>> os.environ
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\admin\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'DESKTOP-G43NB6A', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\admin', 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_131\\', 'LOCALAPPDATA': 'C:\\Users\\admin\\AppData\\Local', 'LOGONSERVER': '\\\\DESKTOP-G43NB6A', 'NUMBER_OF_PROCESSORS': '8', 'ONEDRIVE': 'C:\\Users\\admin\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\admin\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Java\\jdk1.8.0_131\\bin;C:\\Program Files\\Java\\jre1.8.0_131\\bin;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\pycharm\\PyCharm 2019.2.1\\bin;', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 11, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '8e0b', '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', 'PYCHARM': 'C:\\pycharm\\PyCharm 2019.2.1\\bin;', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\admin\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\admin\\AppData\\Local\\Temp', 'USERDOMAIN': 'DESKTOP-G43NB6A', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-G43NB6A', 'USERNAME': 'admin', 'USERPROFILE': 'C:\\Users\\admin', 'WINDIR': 'C:\\Windows'})
返回一个字典,通过key的值获取环境变量的value值
>>> os.environ.get('PATH')
'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Java\\jdk1.8.0_131\\bin;C:\\Program Files\\Java\\jre1.8.0_131\\bin;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\pycharm\\PyCharm 2019.2.1\\bin;'
os.path.isabs('/user')
判断’/user’是否是绝对路径 返回bool值
>>> os.path.isabs('/user')
True
>>> os.path.isabs('hello')
False
(1)生成当前路径下的文件路径
>>> os.path.abspath('hello.png')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\hello.png'
>>> os.path.abspath()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: abspath() missing 1 required positional argument: 'path'
>>> os.path.abspath('.')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37'
(2)生成指定路径下的绝对路径
>>> os.path.abspath('.')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37'
>>> os.path.join(os.path.abspath('.'),'text')
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\text'
>>> os.path.join(os.path.abspath('/user'),'hello')
'C:\\user\\hello'
filename=os.path.abspath('.')
(1)获取目录名
>>> filename=os.path.abspath('.')
>>> os.path.basename(filename)
'Python37'
(2)获取文件名
>>> os.path.dirname(filename)
'C:\\Users\\admin\\AppData\\Local\\Programs\\Python'
(1)创建单个目录
os.mkdir('img')
(2)递归创建多级目录
os.makedirs('/dir1/dir2/dir3')
(3)删除目录
注意:不能递归删除目录
os.rmdir('img')
(1)文件的创建
os.mknod('ok.txt')
(2)文件的删除
os.remove('ok.txt')
对当前目录下的文件,否则会报错
os.rename('oldname','newname')
os.path.exists('data.txt')
>>> os.path.splitext('data.txt')
('data', '.txt')
>>> os.path.split('/user/data.txt')
('/user', 'data.txt')
os.path.getctime('/etc/passwd')
需求:
import random import string import os #定义函数:生成需求文件名 def create_filename(len=4): li=[] for i in range(100): li.append(''.join(random.sample(string.hexdigits,len ))) return li # 建立目录,生成指定文件名的文件 def create_mkdir(dirname): os.mkdir(dirname) lis=create_filename for i in lis: os.mknod('/dirname'+i+'.png') create_mkdir('imm') def re_rename(dirname,old_name,new_name): if os.path.exists(dirname): # 找出以.png结尾的文件 pngfile=[filename for filename in os.listdir(dirname) if filename.endswith(old_name )] # 将文件名和后缀名分离只保留文件名 basefile=[os.path.splittext(i)[0] for i in pngfile ] for file in basefile: oldfilename=os.path.join(dirname,file+old_name) newfilename=os.path.join(dirname,file+new_name) os.rename(oldfilename,newfilename) print("%s重命名%s成功"%(oldfilename,newfilename)) else: print("该目录不存在!") re_rename('imm','.png','.jpg')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。