os和sys模块
os模块
1.os.getcwd()得到当前pythonIDE脚本工作的目录路径
2.os.name()查看当前使用的平台,对于Windows来说是‘nt’,对于Linux来说是‘posix‘
3.os.getenv()和os.putenv()用来读取和设置环境变量。
4.os.listdir()返回指定目录下的所有文件和目录名。
5.os.remove()用来删除一个文件。
6.os.sep可以取代操作系统特定的路径分隔符
7.os.linesep给出当前平台使用的行终止符,Windows使用‘\r\n',Linux使用'\n',Mac使用'\r'.
8.os.listdir(dirname):列出dirname下的目录和文件
9.os.chdir(dirname):改变工作目录到dirname
10.os.mkdirs()创建目录
11.os.removedirs()删除目录
1 import os 2 print(os.getcwd()) 3 4 print(os.name) 5 6 print(os.getenv('name', '/')) 7 print(os.putenv('name','c')) 8 9 print(os.listdir()) 10 11 print(os.remove('a.txt')) 12 13 print(os.sep) 14 15 print(os.linesep) 16 17 print(os.listdir(r'F:\pycharm\code\practice\venv')) 18 19 os.chdir(r'F:\pycharm\code\practice\test') 20 print(os.getcwd()) 21 22 os.mkdir('work1') 23 24 os.removedirs('work1')
F:\pycharm\code\practice\practice1 nt / None ['2.py', 'a.txt', 'os和sys模块.py', 'time模块和random模块.py', 'yield和send方法.py', '装饰器.py'] None \ ['Include', 'Lib', 'pyvenv.cfg', 'Scripts'] F:\pycharm\code\practice\test
12.os.path.split()函数返回一个路径的目录名和文件名。
13.os.path.existe()函数用来检验给出的路径是否真地存在
15.os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
16.os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
18.os.path.getsize(name):获得文件大小,如果name是目录返回0L
19.os.path.abspath(name):获得绝对路径
20.os.path.normpath(path):规范path字符串形式
22.os.path.splitext():分离文件名与扩展名
23.os.path.join(path,name):连接目录与文件名或目录
24.os.path.basename(path):返回文件名
25.os.path.dirname(path):返回文件路径
1 import os 2 print(os.path.split(r'F:\pycharm\code\practice\practice1\2.py')) 3 4 print(os.path.exists(r'F:\pycharm\code\practice\practice1')) 5 6 print(os.path.isdir(r'F:\pycharm\code\practice\practice1')) 7 print(os.path.isdir(r'F:\pycharm\code\practice\practice1\2.py')) 8 9 print(os.path.isfile(r'F:\pycharm\code\practice\practice1')) 10 print(os.path.isfile(r'F:\pycharm\code\practice\practice1\2.py')) 11 12 print(os.path.getsize('2.py')) 13 14 print(os.path.abspath('2.py')) 15 16 print(os.path.normpath(r'F:\pycharm\code\practice\practice1\2.py')) 17 18 print(os.path.splitext('2.py')) 19 20 print(os.path.join('F:\\pycharm\\code\\practice\\practice1\\', "2.py")) 21 22 print(os.path.basename(r'F:\pycharm\code\practice\practice1\2.py')) 23 24 print(os.path.dirname(r'F:\pycharm\code\practice\practice1\2.py'))
('F:\\pycharm\\code\\practice\\practice1', '2.py') True True False False True 1709 F:\pycharm\code\practice\practice1\2.py F:\pycharm\code\practice\practice1\2.py ('2', '.py') F:\pycharm\code\practice\practice1\2.py 2.py F:\pycharm\code\practice\practice1
sys模块
1.sys.argv()实现程序外部向程序内部传递参数
2.sys.exit(n)执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)
3.sys.path获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
>>>import sys >>>sys.path ['F:\\pycharm\\PyCharm 2018.1.4\\helpers\\pydev', 'F:\\pycharm\\PyCharm 2018.1.4\\helpers\\pydev', 'F:\\pycharm\\code\\practice\\venv\\Scripts\\python36.zip', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python36', 'F:\\pycharm\\code\\practice\\venv', 'F:\\pycharm\\code\\practice\\venv\\lib\\site-packages', 'F:\\pycharm\\code\\practice\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.6.egg', 'F:\\pycharm\\code\\practice\\venv\\lib\\site-packages\\pip-10.0.1-py3.6.egg', 'F:\\pycharm\\PyCharm 2018.1.4\\helpers\\pycharm_matplotlib_backend', 'F:\\pycharm\\code\\practice', 'F:/pycharm/code/practice']
4.sys.stdin\stdout\stderr stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们