Python获取当前路径实现代码

 Python获取当前路径实现代码

import os,sys

使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath(__file__)、os.path.realpath(__file__)

sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入

sys.path。

如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。

如果你用py2exe模块把Python脚本编译为可执行文件,那么sys.path[0]的输出还会变化:

如果把依赖库用默认的方式打包为zip文件,那么sys.path[0]会输出“C:\test\getpath\libarary.zip”;

如果在setup.py里面指定zipfile=None参数,依赖库就会被打包到exe文件里面,那么sys.path[0]会输出“C:\test\getpath\getpath.exe”。

#!/bin/env python
#-*- encoding=utf8 -*-

import os,sys

if __name__=="__main__":

  print "__file__=%s" % __file__

  print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

  print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))
  
  print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0]  

  print "os.path.abspath(__file__)=%s" % os.path.abspath(__file__)

  print "os.getcwd()=%s" % os.getcwd()

  print "sys.path[0]=%s" % sys.path[0]

  print "sys.argv[0]=%s" % sys.argv[0]

输出结果:

D:\>python ./python_test/test_path.py
__file__=./python_test/test_path.py
os.path.realpath(__file__)=D:\python_test\test_path.py
os.path.dirname(os.path.realpath(__file__))=D:\python_test
os.path.split(os.path.realpath(__file__))=D:\python_test
os.path.abspath(__file__)=D:\python_test\test_path.py
os.getcwd()=D:\
sys.path[0]=D:\python_test
sys.argv[0]=./python_test/test_path.py

os.getcwd() “D:\”,取的是起始执行目录

sys.path[0]或sys.argv[0] “D:\python_test”,取的是被初始执行的脚本的所在目录

os.path.split(os.path.realpath(__file__))[0] “D:\python_test”,取的是__file__所在文件test_path.py的所在目录

正确获取当前的路径:

__file__是当前执行的文件

  # 获取当前文件__file__的路径

  print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

  # 获取当前文件__file__的所在目录

  print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))   
  # 获取当前文件__file__的所在目录

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Python 获取当前所在目录的方法详解

    sys.path 模块搜索路径的字符串列表.由环境变量PYTHONPATH初始化得到. sys.path[0]是调用Python解释器的当前脚本所在的目录. sys.argv 一个传给Python脚本的指令参数列表. sys.argv[0]是脚本的名字(由系统决定是否是全名) 假设显示调用python指令,如 python demo.py ,会得到绝对路径: 若直接执行脚本,如 ./demo.py ,会得到相对路径. os.getcwd() 获取当前工作路径.在这里是绝对路径. https://

  • python输出当前目录下index.html文件路径的方法

    本文实例讲述了python输出当前目录下index.html文件路径的方法.分享给大家供大家参考.具体实现方法如下: import os import sys path = os.path.join(os.path.dirname(sys.argv[0]),'index.html') print path 希望本文所述对大家的Python程序设计有所帮助.

  • Python获取运行目录与当前脚本目录的方法

    本文实例讲述了Python获取运行目录与当前脚本目录的方法.分享给大家供大家参考.具体实现方法如下: import os import sys #运行目录 CurrentPath = os.getcwd() print CurrentPath #当前脚本目录 print "##################################################" print os.path print sys.argv[0] print os.path.split( os.

  • Python实现删除当前目录下除当前脚本以外的文件和文件夹实例

    本文实例讲述了Python实现删除当前目录下除当前脚本以外的文件和文件夹.分享给大家供大家参考.具体如下: import os,sys import shutil cur_file = os.path.basename(sys.argv[0]) dir_content = [x for x in os.listdir(".") if x != cur_file] for f in dir_content: if os.path.isdir(f): shutil.rmtree(f) el

  • python获取当前用户的主目录路径方法(推荐)

    Python获取当前用户的主目录路径, 示例代码如下: #! /usr/bin/python # -*- coding: utf-8 -*- import os print os.environ['HOME'] print os.path.expandvars('$HOME') print os.path.expanduser('~') 以上就是小编为大家带来的python获取当前用户的主目录路径方法(推荐)全部内容了,希望大家多多支持我们~

  • Python获取当前路径实现代码

     Python获取当前路径实现代码 import os,sys 使用sys.path[0].sys.argv[0].os.getcwd().os.path.abspath(__file__).os.path.realpath(__file__) sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入 sys.path. 如果你在C:\test目录下执行python getpath\getp

  • vbs获取当前路径的代码

    CMD当前路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetFolder(".").PathWscript.echo test 当前VBS路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.PathW

  • python获取糗百图片代码实例

    复制代码 代码如下: from sgmllib import SGMLParserimport urllib2 class sgm(SGMLParser):    def reset(self):        SGMLParser.reset(self)        self.srcs=[]        self.ISTRUE=True def start_div(self,artts):        for k,v in artts:            if v=="author&

  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径

    java获取系统路径字体.得到某个目录下的所有文件名.获取当前路径 复制代码 代码如下: package com.liuxing.test; import java.awt.GraphicsEnvironment;import java.io.File;public class Test { private static GraphicsEnvironment environment; /**  * @param args  */ public static void main(String[]

  • .NET获取当前路径的方法汇总

    以下汇总了.NET(包括ASP.NET/WinForm等)获取当前路径的各种方法 //获取当前进程的完整路径,包含文件名(进程名).   string str = this.GetType().Assembly.Location;   result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).   string str = System.Diagnosti

  • python如何查看网页代码

    用python查看网页代码的方法: 1.使用"import"导入requests包 import requests 2.使用requests包的get()函数通过网页链接获取网页的源码,然后使用print()语句输出就可以了 执行结果如下: 实例扩展: Python获取网页html代码 获取网页html代码: import requests res = requests.get('https://www.jb51.net/更换成你的网页.html') res.encoding = 'u

  • python 获取当前目录下的文件目录和文件名实例代码详解

    os模块下有两个函数: os.walk() os.listdir() # -*- coding: utf-8 -*- import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 print(files) #当前路径下所有非目录子文件 输出格式为: 当前文件目录路径 当前路径下子文件目录(若存在, 不存在则为 []

  • 利用python获取Ping结果示例代码

    前言 本文主要跟大家分享了关于利用python获取Ping结果的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 -*- import subprocess import re def get_ping_result(ip_address): p = subprocess.Popen(["ping.exe", ip_address], stdin = subprocess.PIPE, stdout = subp

  • python 获取网页编码方式实现代码

    python 获取网页编码方式实现代码 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">

  • VC获取当前路径及程序名的实现代码

    一.获取当前运行目录的绝对路径 1.使用GetCurrentDirectory函数 假设程序路径为D:\Test\tst.exe,执行GetCurrentDirectory函数 char pBuf[MAX_PATH]; GetCurrentDirectory(MAX_PATH,pBuf); pBuf="D:\Test" 但是如果使用CFileDialog.CFile::Open等函数后,设置不当则会导致再次获取当前路径值改变.所以,如要避免当前路径改变,如果使用CFileDialog,

随机推荐