一 背景信息

最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,到我这里怎么都有个错误,当初报的错误是这样的:
    FileNotFoundError: [Errno 2] No such file or directory: 'ui.qss'

意思是程序种找不到这个文件,通过查看代码,程序中是存在这个文件的。看来是代码有问题,经过几番定位,我终于找到问题了,是我执行代码的时候,实在文件外边执行的,可是,代码中用到了一个相对路径,所以说会上报这个错误。通过这个错误,让我认识到了自己的python基础有多差,差了不要紧,那就补起来吧。

二 基本方法:

1. os.getcwd()

获取文件当前工作目录路径(绝对路径)https://docs.python.org/2/library/os.html#os.getcwd

2. sys.path[0]

获取文件当前工作目录路径(绝对路径)
sys.argv[0]|获得模块所在的路径(由系统决定是否是全名)
若显示调用python指令,如python demo.py,会得到绝对路径;
若直接执行脚本,如./demo.py,会得到相对路径。

3. __ file __

获得文件所在的路径(由系统决定是否是全名)
若显示执行Python,会得到绝对路径;
若按相对路径来直接执行脚本./pyws/path_demo.py,会得到相对路径。

4. os.path.abspath(__ file __)

获得文件所在的路径(绝对路径)

5. os.path.realpath(__ file __)

获得文件所在的路径(绝对路径)

三 实战训练:

path = os.getcwd()
path1 = os.path.join(path,"test.txt") def dir_check():
print("the pwd is:%s" % path)
print("the full path is:%s" % path1)
with open(path1) as file:
css = file.readlines()
print("%s" % css) def print_dir():
print("sys.path[0] = ", sys.path[0])
print("__file__ = ", __file__)
print("os.path.abspath(__file__) = ", os.path.abspath(__file__))
print("os.path.realpath(__file__) = ", os.path.realpath(__file__))
if __name__ == '__main__':
dir_check()
print_dir()

由于涉及到保密问题,程序的结果我就不贴出来了,想知道的自己执行一下吧。

对绝大多数人来说,获取一门技能的最快方法是反复练习。

最新文章

  1. ASP.NET Web API 2.1支持Binary JSON(Bson)
  2. COGS746. [网络流24题] 骑士共存
  3. Swift:属性观察器
  4. 导出Excel
  5. 如何用SQL语句实现Mysql数据库的备份与还原
  6. django 初级(一) 配置与周边
  7. AJAX学习
  8. Unity3d 提示 "The scripts file name does not match the name of the class defined in the script!"的解决办法
  9. windows tomcat配置大全
  10. linux上一些命令
  11. tomcat 解析(五)-Tomcat的核心组成和启动过程
  12. phpexcel的写出操作(生成excel表)
  13. CentOS下安装无线网卡驱动 (转)
  14. fork进程函数总结
  15. error: stray '\357' in program编程出错的总结
  16. java 反射(Reflection)
  17. elementUI
  18. 洛谷 P1164 小A点菜
  19. IDEA注册码和license服务器附使用方法
  20. 安装onlyoffice document server

热门文章

  1. Pinpoint-agent监控springboot编译的jar启动方式
  2. nlp英文的数据清洗代码
  3. 在mysql中如何写注释
  4. 几种常见的css布局_l流体布局、圣杯布局、双飞翼布局
  5. Zabbix-(七)分布式监控
  6. PHP Swoole与TCP三次握手
  7. SpringBoot中maven打包,启动报没有主清单属性
  8. Quartz.NET总结(三)如配置jobs
  9. 什么是BGP协议
  10. ASP.NET MVC Action向视图传值之匿名类型