一. Python 获取当前文件路径方法

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 __)

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

6. os.path.split(os.path.realpath(__ file __))

将文件路径名称分成头和尾一对,生成二元元组。(文件目录,文件名)

https://docs.python.org/2/library/os.path.html#os.path.split

二. 举个栗子

1. Source code

import os

import sys

print("sys.path[0] = ", sys.path[0])

print("sys.argv[0] = ", sys.argv[0])

print("__file__ = ", __file__)

print("os.path.abspath(__file__) = ", os.path.abspath(__file__))

print("os.path.realpath(__file__) = ", os.path.realpath(__file__))

print("os.path.dirname(os.path.realpath(__file__)) = ",

os.path.dirname(os.path.realpath(__file__)))

print("os.path.split(os.path.realpath(__file__)) = ",

os.path.split(os.path.realpath(__file__)))

print("os.path.split(os.path.realpath(__file__))[0] = ",

os.path.split(os.path.realpath(__file__))[0])

print("os.getcwd() = ", os.getcwd())

2. Result

(1) Pycharm project中显示调用python指令,获取文件绝对路径

C:\Python364\python.exe C:/PyCharm/PycharmProject/get_path/path_demo.py

sys.path[0] = C:\PyCharm\PycharmProject\get_path

sys.argv[0] = C:/PyCharm/PycharmProject/get_path/path_demo.py

__file__ = C:/PyCharm/PycharmProject/get_path/path_demo.py

os.path.abspath(__file__) = C:\PyCharm\PycharmProject\get_path\path_demo.py

os.path.realpath(__file__) = C:\PyCharm\PycharmProject\get_path\path_demo.py

os.path.dirname(os.path.realpath(__file__)) = C:\PyCharm\PycharmProject\get_path

os.path.split(os.path.realpath(__file__)) = ('C:\\PyCharm\\PycharmProject\\get_path', 'path_demo.py')

os.path.split(os.path.realpath(__file__))[0] = C:\PyCharm\PycharmProject\get_path

os.getcwd() = C:\PyCharm\PycharmProject\get_path

Process finished with exit code 0

(2)Terminal中直接执行Python脚本,获取文件相对路径

C:\PyCharm\PycharmProject\get_path>python path_demo.py

('sys.path[0] = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('sys.argv[0] = ', 'path_demo.py')

('__file__ = ', 'path_demo.py')

('os.path.abspath(__file__) = ', 'C:\\PyCharm\\PycharmProject\\get_path\\path_demo.py')

('os.path.realpath(__file__) = ', 'C:\\PyCharm\\PycharmProject\\get_path\\path_demo.py')

('os.path.dirname(os.path.realpath(__file__)) = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('os.path.split(os.path.realpath(__file__)) = ', ('C:\\PyCharm\\PycharmProject\\get_path', 'path_demo.py'))

('os.path.split(os.path.realpath(__file__))[0] = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('os.getcwd() = ', 'C:\\PyCharm\\PycharmProject\\get_path')

三. 参考

python获取某文件路径_Python获取当前文件路径相关推荐

  1. input file获取文件路径_python 基础 — 整理文件

    点击上方蓝字"Python圈子",进行关注~ 前言 文件整理常常会浪费很多时间.但如果让机器来做这样复杂的事情,不到 10 秒钟就能完成 1 个小时工作. 整理方式 进行文件整理最 ...

  2. python 获取文件夹所有文件列表_python获取文件夹下所有文件及os模块方法

    python获取文件夹下所有文件 方法一:使用os.listdir import os for filename in os.listdir(r'c:\windows'): print filenam ...

  3. elupload获取文件名与路径_Python检查word文件中的特殊“标记”词是否与文件名中的一致(实例59)...

    公司的部分文件分为"内部"和"外部".正常情况下,这个标识在文件名及文件首页左上角都有标注.然鹅,有时候操作一下,忘记改了,或者忘记标注了.就需要回头去一个一个 ...

  4. python获取相对路径的绝对路径_python之:绝对路径相对路径的应用

    每次在读或写文件时,获取脚本文件的绝对路径和相对路径时很容易搞混,你有没有出现这种情况,下面一起来看一下,绝对路径跟相对路径是何方神圣. 绝对路径&相对路径 百度百科上是怎么解释的: 绝对路径 ...

  5. python获取当前路径和上一层路径_python获取当前路径和上一级路径

    围观人数: 3 标签:getc   当前目录   路径   print   bsp   获取   目录   dir   dirname """获取当前目录"&q ...

  6. python时间函数纳秒_python – 获取纳秒级精度的文件修改时间

    我需要为遍历文件系统树的Python 2程序中的每个文件获取完整的纳秒精度修改时间戳.我想在Python本身中这样做,因为为每个文件生成一个新的子进程会很慢. 通过查看stat结果的st_mtime_ ...

  7. python获取当前路径的方法_Python获取脚本所在目录的正确方法【转】

    原博文 2015-09-24 10:21 − 1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数.如果是要获得当前执行的脚本的所在目录位置,那么需要 ...

  8. python怎么打开文件解释_python怎么打开文件的路径?

    python怎么打开文件的路径? python打开文件路径的方法: 1.我们知道用绝对路径打开一个文件.f=open('c:/Users/Administrator/Desktop/2.txt','r ...

  9. python怎么输入文件路径_python怎么打开文件的路径?

    python怎么打开文件的路径? python打开文件路径的方法: 1.我们知道用绝对路径打开一个文件.f=open('c:/Users/Administrator/Desktop/2.txt','r ...

  10. python指定文件路径_python实现指定文件夹下的指定文件移动到指定位置

    # coding:utf-8 import os import shutil import sys reload(sys) sys.setdefaultencoding('utf8') # print ...

最新文章

  1. Linux虚拟机基本操作
  2. 基于Clang的缓存型C++编译器Zapcc开源
  3. mitmdump脚本中使用requests模块发送请求
  4. show attend and tell代码实现(绝对详细)
  5. [NOI2011]阿狸的打字机
  6. java系统时间怎么获取,java目前系统时间的获取
  7. python股票分析系统_熬了一晚上,小白用Python写了一个股票提醒系统
  8. MVC中如何使用语音识别功能实现输入
  9. 网络协议从入门到底层原理(7)网络安全 - 常见攻击、单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书
  10. pythonlist反转_Python 列表反转显示的四种方法
  11. Cavium OCTEON网络处理器的安全性能
  12. gst-launch命令转换为C代码(gstreamer框架)
  13. linux脚本:每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下
  14. 计算机二级柏林是第几套,2019年计算机二级Office考试内容及时间安排(内附两套原题库)...
  15. TCP FIN_WAIT2定时器
  16. SpringBootSecurity安全相关
  17. Android L添加kk版的OOBE开机向导
  18. Houdini 如何加材质贴图
  19. FCC催化剂类有哪些最新发表的毕业论文呢?
  20. ios6应用运行在ios7系统上

热门文章

  1. python之路 mysql 博客园_Python之路(二十七):Mysql(下)
  2. SimpleDateFormat详解
  3. HTML块级元素/块标签/块元素
  4. HH SaaS电商系统的商品系统设计
  5. 服务器$java_top路径_ERP实施项目-MD120_FIN000_即时打印_V1.0
  6. html文件压缩成gzip,前端性能优化成神之路-HTTP压缩开启gzip
  7. excel运行没反应_Excel数据很少文件却很大,问题出在哪里呢?两种方法轻松解决...
  8. mediumtext和string转换_数据库用varchar和text的差别
  9. yolov4论文_Alexey 大神接棒,YOLOv4 重磅来袭!快来一睹论文真容吧!| 原力计划...
  10. 学习理发去哪里_学习美发去哪里学