zoukankan      html  css  js  c++  java
  • 03.os

    01.os模块常用方法

    import os
    #1 当前工作目录,即当前python脚本工作的目录路径
    print(os.getcwd())    # C:UsersadminPycharmProjectss14Day5	est4
    
    #2 当前脚本工作目录;相当于shell下cd
    os.chdir("C:\Users\admin\PycharmProjects\s14")
    os.chdir(r"C:UsersadminPycharmProjectss14")
    print(os.getcwd())    # C:UsersadminPycharmProjectss14
    
    #3 返回当前目录: ('.')
    print(os.curdir)        # ('.')
    
    #4 获取当前目录的父目录字符串名:('..')
    print(os.pardir)        # ('..')
    
    #5 可生成多层递归目录
    os.makedirs(r'C:aaabb')         # 可以发现在C盘创建了文件夹/aaa/bbb
    
    #6 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.removedirs(r'C:aaabb')    # 删除所有空目录
    
    #7 生成单级目录;相当于shell中mkdir dirname
    os.mkdir(r'C:bb')        # 仅能创建单个目录
    
    #8 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    os.rmdir(r'C:aaa')        # 仅删除指定的一个空目录
    
    #9 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    print(os.listdir(r"C:UsersadminPycharmProjectss14"))
    
    #10 删除一个文件
    os.remove(r'C:bb	est.txt')        # 指定删除test.txt文件
    
    #11 重命名文件/目录
    os.rename(r'C:bb	est.txt',r'C:bb	est00.bak')
    
    #12 获取文件/目录信息
    print(os.stat(r'C:bb	est.txt'))
    
    #13 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    print(os.sep)                # 
    
    #14 输出当前平台使用的行终止符,win下为"
    ",Linux下为"
    "
    print(os.linesep)
    
    #15 输出用于分割文件路径的字符串
    print(os.pathsep)                # ;  (分号)
    
    #16 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    print(os.name)                # nt
    
    #17 运行shell命令,直接显示
    os.system("bash command")
    
    #18 获取系统环境变量
    print(os.environ)                # environ({'OS': 'Windows_NT', 'PUBLIC': ………….
    
    #19 返回path规范化的绝对路径
    print(os.path.abspath(r'C:/bbb/test.txt'))    # C:bb	est.txt
    
    #20 将path分割成目录和文件名二元组返回
    print(os.path.split(r'C:/bbb/ccc'))    # ('C:/bbb', 'ccc')
    
    #21 返回path的目录。其实就是os.path.split(path)的第一个元素
    print(os.path.dirname(r'C:/bbb/ccc'))    # C:/bbb
    
    #22 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    print(os.path.basename(r'C:/bbb/ccc/ddd'))    # ddd
    
    #23 如果path存在,返回True;如果path不存在,返回False
    print(os.path.exists(r'C:/bbb/ccc/'))    # True
    
    #24 如果path是绝对路径,返回True        # True
    print(os.path.isabs(r"C:UsersadminPycharmProjectss14Day5	est4"))
    
    #25 如果path是一个存在的文件,返回True。否则返回False
    print(os.path.isfile(r'C:/bbb/ccc/test2.txt'))        # True
    
    #26 如果path是一个存在的目录,则返回True。否则返回False
    print(os.path.isdir(r'C:/bbb/ccc'))            # True
    
    #28 返回path所指向的文件或者目录的最后存取时间
    print(os.path.getatime(r'C:/bbb/ccc/test2.txt'))        # 1483509254.9647143
    
    #29 返回path所指向的文件或者目录的最后修改时间
    print(os.path.getmtime(r'C:/bbb/ccc/test2.txt'))        # 1483510068.746478
    
    #30 无论linux还是windows,拼接出文件路径
    put_filename = '%s%s%s'%(self.home,os. path.sep, filename)
    #C:UsersadminPycharmProjectss14day10select版FTPhome

    02.os模块使用

    2.1 添加文件夹到环境变量

    import os,sys
    print(os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) ))
    BASE_DIR = os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) )
    sys.path.append(BASE_DIR)
    
    # 代码解释:
    # 要想导入其他目录中的函数,其实就是将其他目录的绝对路径动态的添加到pyhton的环境变量中,这样python解释器就能够在运行时找到导入的模块而不报错:
    # 然后调用sys模块sys.path.append(BASE_DIR)就可以将这条路径添加到python环境变量中

    2.2 os.popen获取脚本执行结果

    data.py

    data = {'name':'aaa'}
    import json
    print json.dumps(data)

    get_data.py

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    import os,json
    
    ret = os.popen('python data.py')
    data = ret.read().strip()
    ret.close()
    data = json.loads(data)
    print data  # {'name':'aaa'}
  • 相关阅读:
    LUA之面向对象
    LUA笔记之表
    LUA笔记之字符串
    STM32模拟I2C
    php(1)-php5.6启动命令
    ip地址变更对tomcat和nginx的影响
    解决 nginx: [alert] kill(189, 1) failed (3: No such process)
    linux(16)-yum安装提示“没有可用软件包”
    性能测试监控分析(17) 负载和CPU使用率低高负载的原因
    Codeforces Round #588 (Div. 2)C(思维,暴力)
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14587944.html
Copyright © 2011-2022 走看看