os模块是涉及操作系统的一个模块,sys是关于解释器的一个模块。
OS模块 常用函数
import os
print(os.getcwd())#当前工作目录
print(os.name)#系统名
print(os.sep)#系统分隔符:/或者\\等
li=os.listdir("E:/test")#以列表形式返回文件夹内容
print(li)
os.mkdir("E:/test(1)")#创建文件夹已有则报错
os.rmdir("E:/test/test2")#删除空文件夹无则报错
os.makedirs("E:/t/t1/t3")#创建连锁目录
os.removedirs('E:/test/test1')#删除文件夹及里面的所有
os.chdir("E:/test")#改变工作目录
os.rename("E:/test",'E:/mytest')#重命名
print(os.path.exists("E:/mytest"))#存在否
print(os.path.isfile('E:/mytest/test1/ojbk.txt'))
print(os.path.isdir('E:/mytest/test1'))
name=os.path.basename("E:/mytest/test1/ojbk.txt")#返回文件名
print(name)
os.chdir("E:/mytest/test1")
absolutedir=os.path.abspath("ojbk.txt")#返回绝对路径
print(absolutedir)
docsize=os.path.getsize("ojbk.txt")#文件大小若是目录则返回0
path_new=os.path.join("E:/test","test1/",'ojbk.txt')#拼接路径
print(path_new)
SYS模块
此模块不经常用一般性了解
- sys.argv: 实现从程序外部向程序传递参数。
- sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
- sys.stdout.write(‘please:’):标准输出,引出进度条的例子
- sys.getrecursionlimit() :获取最大递归层数
- sys.setrecursionlimit(1200):设置最大递归层数
- sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
- sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行 reload(sys)再执行 setdefaultencoding(‘utf8’),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
- sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回’mbcs’,mac下返回’utf-8’.
- sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
- sys.platform: 获取当前系统平台。
- sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们