[python标准库]OS和sys模块

时间:2020-12-20 22:36:05

OS模块

下面列举一些常用的方法:

[python标准库]OS和sys模块[python标准库]OS和sys模块
os.walk(r'D:\CODE_FILE\python\Day4') # 获取目录下所有的文件路径
os.sep可以取代操作系统特定的路径分隔符。windows下为 “\\”
os.name字符串指示你正在使用的平台。比如对于Windows,它是
'nt',而对于Linux/Unix用户,它是'posix'
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()获取一个环境变量,如果没有返回none
os.putenv(key, value)设置一个环境变量值
os.listdir(path)返回指定目录下的所有文件和目录名。
os.remove(path)函数用来删除一个文件。
os.system(command)函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用
'\r\n',Linux使用'\n'而Mac使用'\r'
os.path.split(p)函数返回一个路径的目录名和文件名。
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
os.path.exists()函数用来检验给出的路径是否真地存在
os.curdir:返回当前目录(
'.')
os.chdir(dirname):改变工作目录到dirname
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径
常用的方法

实例1:利用os.walk()和os.path.join来拼接文件的绝对路径

for par_dir, _, files in os.walk(PATH):  # walk输出形式为(主目录,子目录,子文件)
for file in files:
file_path
= os.path.join(par_dir, file)
print(file_path)

 或者下面这种方式也可以:

for par_dir, _, files in os.walk(PATH):  # walk输出形式为(主目录,子目录,子文件),形式为元组类型
for file in files:
file_path
= r'%s\%s' %(par_dir,file)
print(file_path)

实例2:os模块方法综合应用

[python标准库]OS和sys模块[python标准库]OS和sys模块
import os

system
= os.name # 获取系统类型
if system == 'nt':
print("您现在使用的系统是windows")
print("windows表示的特定路径分隔符是:",os.sep)
print("系统的终止符为:",os.linesep)

else:
print("您现在使用的系统是Linux")
print("Linux表示的特定路径分隔符是:", os.sep)
print("系统的终止符为:", os.linesep)

path
= os.getcwd() # 获取当前目录
print("本程序运行所在目录是:", path)

print("您电脑的环境变量为:",os.getenv('PATH'))

print("您当前文件夹中的文件有:")
print(os.listdir(path))
if os.path.exists('test.txt'):
os.remove(
'text.txt')
print("文件移除成功")
else:
print("文件不存在!!")


print("您的IP为:",os.system("ipconfig"))

name
= r'D:\CODE_FILE\python\day22\mystring.py'
print('本程序的大小为: ',os.path.getsize(name))
print('本程序的决定路径为: ',os.path.abspath(name))

print("本程序的文件名为:",os.path.split(name))
files
= os.path.splitext(name)
print("本程序的扩展名为:",files[1])
print("本程序的文件为:",os.path.basename(name))
print("本程序的路径为:",os.path.dirname(name))
View Code

 

sys模块

常用的sys模块中的方法:

[python标准库]OS和sys模块[python标准库]OS和sys模块
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.modules.keys() #返回所有已经导入的模块列表
sys.modules #返回系统导入的模块字段,key是模块名,value是模块
sys.exc_info() #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) #退出程序,正常退出时exit(0)
sys.hexversion #获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version #获取Python解释程序的版本信息
sys.platform #返回操作系统平台名称
sys.maxint # 最大的Int值
sys.stdout #标准输出
sys.stdout.write('aaa') #标准输出内容
sys.stdout.writelines() #无换行输出
sys.stdin #标准输入
sys.stdin.read() #输入一行
sys.stderr #错误输出
sys.exc_clear() #用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix #返回平*立的python文件安装的位置
sys.byteorder #本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
sys.copyright #记录python版权相关的东西
sys.api_version #解释器的C的API版本
sys.version_info #'final'表示最终,也有'candidate'表示候选,表示版本级别,是否有后继的发行
sys.getdefaultencoding() #返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding() #返回将Unicode文件名转换成系统文件名的编码的名字
sys.builtin_module_names #Python解释器导入的内建模块列表
sys.executable #Python解释程序路径
sys.getwindowsversion() #获取Windows的版本
sys.stdin.readline() #从标准输入读一行,sys.stdout.write(a) 屏幕输出a
sys.setdefaultencoding(name) #用来设置当前默认的字符编码(详细使用参考文档)
sys.displayhook(value) #如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)
View Code

实例:模拟进度条

import sys
import time

def view_bar(num,total):
rate
= num / total

rate_num
= int(rate * 100) + 1
r
= '\r%s>%d%%' % ('=' * rate_num, rate_num,)
sys.stdout.write(r)
sys.stdout.flush

for i in range(0,100):
time.sleep(
0.1)
view_bar(i,
100)