这个功能纠结了一下午,做了测试以后总算是明白了

__file__表示显示文件当前的位置

但是:

如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!

如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!

先来看测试:记住,下面的测试是假设“”不属于sys.path的情况下!!!

图1是sys.path的图

命令行cd到文件所在目录,执行,你所在的位置实际上是"",所以他返回相对地址

操作目录往上返回一层,并在python后面执行的时候添加目录

这样,文件所在位置并不是操作所在位置,也就是不是""

而mystuff也不在sys.path里面,所以,他返回绝对路径!

包括我们换一种执行方法,他也是返回绝对路径!

Python __file__ 详解相关推荐

  1. python区块链开发_Fabric区块链Python开发详解

    Hyperledger Fabric是最流行的联盟区块链平台.Fabric区块链Python开发详解课程 涵盖Fabric区块链的核心概念.Fabric网络搭建.Node链码开发.Python应用开发 ...

  2. python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...

    上节详细介绍了利用@property装饰器定义属性的语法,本节通过具体案例来进一步说明. 一.    案例说明 本节的案例是定义Rectangle(长方形)类,为了说明问题,除构造函数外,其他方法都只 ...

  3. 【python】详解类class的继承、__init__初始化、super方法

    原文链接; https://blog.csdn.net/brucewong0516/article/details/79121179?utm_medium=distribute.pc_relevant ...

  4. python与golang_Golang与python线程详解及简单实例

    Golang与python线程详解及简单实例 在GO中,开启15个线程,每个线程把全局变量遍历增加100000次,因此预测结果是 15*100000=1500000. var sum int var ...

  5. python 最小二乘法_最小二乘法及其python实现详解

    最小二乘法Least Square Method,做为分类回归算法的基础,有着悠久的历史(由马里·勒让德于1806年提出).它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可以简便地求得 ...

  6. 【python】详解multiprocessing多进程-Pool进程池模块(二)

    [python]详解multiprocessing多进程-process模块(一) [python]详解multiprocessing多进程-Pool进程池模块(二) [python]详解multip ...

  7. 【python】什么是序列,Python序列详解

    什么是序列,Python序列详解 概述 序列索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 序列相关的内置函数 range 快速初始化数字列表 概述 所谓序列,指的是一块可存放多个值的连 ...

  8. python多线程详解 Python 垃圾回收机制

    文章目录 python多线程详解 一.线程介绍 什么是线程 为什么要使用多线程 总结起来,使用多线程编程具有如下几个优点: 二.线程实现 自定义线程 守护线程 主线程等待子线程结束 多线程共享全局变量 ...

  9. Python线程详解

    Python线程详解 线程简介 开启多线程 线程之间共享 GIL全局解释器锁 线程间通信 线程简介 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元. ...

最新文章

  1. Spring是怎样诞生的?
  2. asp.net mvc 与 asp.net结合(asp.net mvc 技巧)
  3. Seata 新特性,APM 支持 SkyWalking
  4. Codeup-问题 C: 畅通工程
  5. 【双百解法】剑指 Offer 10- I 斐波那契数列
  6. 多线程原理实例应用详解
  7. centos7利用nexus离线搭建局域网pypi源
  8. C++基础::文件流
  9. 6.Java反射到底慢在哪
  10. js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
  11. Springsecurity之UserDetails
  12. PDF Checkpoint for mac(pdf文件批量处理工具)
  13. Atitit 自然语言处理(NLP)的应用 与 搜索引擎 目录 1.1. 搜索引擎并不是自然语言处理(NLP)的唯一应用。 2 1.2. NLP的应用 2 1.3. 社交网站信息流, 2 1.4.
  14. 计算机软件故障实验报告,湖大选修实验报告计算机软硬件一般故障的排除.doc...
  15. this.FileUpload1.PostedFile.File…
  16. [源码解读]position_estimator_inav_main解读(如何启动光流)
  17. Hybrid APP混合开发
  18. 运放的输入失调电压、输入偏置电流和输入失调电流以及电阻匹配的作用之一
  19. 彩色图rgb转换成灰色图
  20. 关于LaTex输入大写罗马字母的命令——\expandafter的理解与\MakeUppercase的使用

热门文章

  1. inc si指令的作用_8086指令
  2. C++矩阵求转置矩阵
  3. 前台js中图片picture设置
  4. QQ收集表图片批量导出
  5. opencv之Mat的定义
  6. I/Q信号解调分析过程
  7. HTML5 网页添加背景音乐
  8. 列主元高斯消去法(c语言)(可以实现所有阶的)(超级详细)
  9. iPhone XS系列降价一千元;Intel雷电接口将融合USB4;蔚来汽车收入、亏损均增长百分百 | 雷锋早报...
  10. 使用 dlopen 和 dlsym 来使用 C++ 中的函数、类