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 "", line 1, in
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')
os.makedirs('/dir1/dir2/dir3')
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')