• sys.path os.path


    前言

    写django 经常看见两个模块的使用,在此记录一下

    区别

    sys.path  是一个列表,是python 环境变量的搜索列表

    os.path   是一个对象,有很多的关于路径的方法

    sys.path  的使用

    import sys  
    sys.path.append(’引用模块的地址')  
      
    #或者  
    import sys  
    sys.path.insert(0, '引用模块的地址')  
    View Code

    sys.path是个列表,所以在末尾添加目录是很容易的,用sys.path.append就行了。当这个append执行完之后,新目录即时起效,以后的每次import操作都可能会检查这个目录。如同解决方案所示,可以选择用sys.path.insert(0,…)这样新添加的目录会优先于sys.path中的其他目录被import检查。

    os.path 的使用

    os.path.abspath(path)  #返回绝对路径  
    os.path.split(path     #将path分割成目录和文件名二元组返回  
    os.path.dirname(path)  #返回path的目录。其实就是os.path.split(path)的第一个元素  
    os.path.basename(path) #返回path最后的文件名  
    os.path.exists(path)   #如果path存在,返回True;如果path不存在,返回False  
    os.path.isabs(path)    #如果path是绝对路径,返回True  
    os.path.isfile(path)   #如果path是一个存在的文件,返回True。否则返回False  
    os.path.isdir(path)    #如果path是一个存在的目录,则返回True。否则返回False  
    os.path.getatime(path) #返回path所指向的文件或者目录的最后存取时间  
    os.path.getmtime(path) #返回path所指向的文件或者目录的最后修改时间   
    s.path.join(path1[, path2[, ...]])  #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。  
    >>> os.path.join('c:\', 'csv', 'test.csv')  
    'c:\csv\test.csv'  
    >>> os.path.join('windows	emp', 'c:\', 'csv', 'test.csv')  
    'c:\csv\test.csv'  
    >>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')  
    '/home/aa/bb/c'  
    View Code

    总结

    sys.path  添加的路径是暂时的,当前python 环境退出后此添加的路径就会消失

    os.path.abspath(__file__)      为获取当前文件的绝对路径 ,此命令所在文件的绝对路径,包含文件
    os.path.dirname()            为获取当前路径上一级的路径

    django 中settings.py 的应用:

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    'DIRS': [os.path.join(BASE_DIR, 'templates')
  • 相关阅读:
    泛在电力物联网建设路线
    如何建设泛在电力物联网?
    泛在电力物联网到底该怎么建?
    泛在电力物联网(能源互联网+物联网)浅析
    泛在电力物联网分析—架构形式
    泛在电力物联网:两个业务 两种发展逻辑
    国网“泛在电力物联网”的战略与逻辑
    MVC中使用Hangfire按秒执行任务
    hangfire 实现已完成的job设置过期,防止数据无限增长
    解决ASP.NET Core部署到IIS,更新项目"另一个程序正在使用此文件,进程无法访问"
  • 原文地址:https://www.cnblogs.com/fanggege/p/10262099.html
Copyright © 2020-2023  润新知