python调用文件路径

1.获取当前执行主脚本方法:sys.argv[0]和_ file _

(1)sys.argv

一个传给Python脚本的指令参数列表。sys.argv[0]是脚本的名字。一般得到的是相对路径,用os.path.abspath(sys.argv[0])得到执行文件的绝对路径:

?


1

2

dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))

os.path.realpath(sys.argv[0])

如果在命令行执行sys.argv返回解释器路径:[‘/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython3‘]

(2)_ _ file_ _

获得当前执行模块所在的路径,一般为相对路径,用os.path.abspath(_ _ file_ _)得到执行文件的绝对路径:

?


1

2

dirname, filename = os.path.split(os.path.abspath( _ _ file_ _))

os.path.realpath(_ _ file_ _)

注意:Python控制台下,直接使用print _ _ file _ 是会导致 name ‘ _ file _ ‘ is not defined错误的,因为这时没有在任何一个脚本下执行,自然没有 _ file _ _的定义了。

(3)sys.argv[0]和_ _ file _ _的差异:在主执行文件中时,两者没什么差异,不过要是在不同的文件下,就不同了,如a.py,b.py这两个文件

执行a.py结果如下:

如上图结果可以看出:如果都是a.py两者结果无异,但是从在a中导入b时执行的sys.argv[0]还是指的是运行的主文件:a.py而_ _ file_ _却输出的是b.py

2.sys.path

模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。是一个目录的列表,sys.path[0]是调用Python解释器的当前脚本所在的目录,即主执行文件的父级目录。

例子:如在/user/ybp/a.py的文件a.py中执行:print(sys.path[0])==>/user/ybp,

在命令行执行返回空字符串;

3.注意os.path是系统环境变量,要与上面区分开来,没有os.path[0],os.path中的一些方法:

(1)os.path.split(path)

将路径名称分成头和尾一对。尾部永远不会带有斜杠。如果输入的路径以斜杠结尾,那么得到的空的尾部。

如果输入路径没有斜杠,那么头部位为空。如果输入路径为空,那么得到的头和尾都是空。

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

(2)os.path.realpath(path)

返回特定文件名的绝对路径,可以在命令行中执行。

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

4.os.getcwd()返回的是当前工作路径,而不一定需要是在脚本里面执行,这个命令相当于pwd,可以在命令行中执行,返回的是绝对路径;

原文地址:https://www.cnblogs.com/fengguozhuying/p/9534897.html

时间: 2024-10-11 10:01:50

python调用文件路径的相关文章

python获取文件路径

摘自:https://blog.csdn.net/Poo_Chai/article/details/89764001 import os root_path = os.path.abspath(os.path.join(os.getcwd(), "..")) print("""*********************** Path test:start..... ********************""") print(

python open 文件路径使用变量

作用说明:open函数在调用文件时,文件路径使用变量 import os import json BASE_DIR=os.path.dirname(os.path.abspath(__file__)) info={     'Alice':'123',     'Jim':'321',     'Peter':'456',     'Zike':'654' } filepath="%s\\username_passwd" % BASE_DIR #print(filepath) f=op

python库文件路径

python中import语句导入库文件路径可通过sys.path查看.写一个简单的小程序: 1 import sys 2 print sys.path 运行它,本机上得到的结果如下: ['', '/usr/local/lib/python2.7/dist-packages/Paste-1.7.5.1-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/

python 通过文件路径获取文件hash值

1 import hashlib 2 import os,sys 3 4 def CalcSha1(filepath): 5 with open(filepath,'rb') as f: 6 sha1obj = hashlib.sha1() 7 sha1obj.update(f.read()) 8 hash = sha1obj.hexdigest() 9 print(hash) 10 return hash 11 12 def CalcMD5(filepath): 13 with open(fi

python获取文件扩展名的方法(转)

主要介绍了python获取文件扩展名的方法,涉及Python针对文件路径的相关操作技巧.具体实现方法如下: 1 2 3 4 import os.path def file_extension(path):   return os.path.splitext(path)[1] print file_extension('C:\py\wxPython.gif') 输出结果为:.gif 原文地址:https://www.cnblogs.com/hixiaowei/p/8438930.html

python获取文件扩展名的方法

主要介绍了python获取文件扩展名的方法,涉及Python针对文件路径的相关操作技巧 import os.path def file_extension(path): return os.path.splitext(path)[1] print file_extension('C:\py\wxPython.gif') 输出结果为:.gif 原文地址:https://www.cnblogs.com/sea-stream/p/10231908.html

dive into python:模块的导入和搜索文件路径的配置

1.Python中导入模块:import sys:相当于Java中的导入包.类. 比如,我们导入sys模块,使用:import sys; 2.Python中调用函数的时候,会从默认配置的库文件夹中(sys.path)搜索你所调用的模块.这个库文件的目录配置,如下: sys.path用来配置Python模块搜索路径.它是一个List(列表),打印默认sys.path的内容: Python 3.3.5 (v3.3.5:62cf4e77f785, Mar  9 2014, 10:37:12) [MSC

Python调用ansible API系列(四)动态生成hosts文件

方法一:通过最原始的操作文件的方式 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 通过操作文件形式动态生成ansible的hosts文件 """ import sys class Inventory: def __init__(self): # ansible的hosts文件路径 self._hostsfile = "./aaa" self._data = self._ge

Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件

本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了改动,让它可以对不同人说话作区分,并且作了一些封装. 语音识别功能 weblfasr_python3_demo.py 文件: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 讯飞非实时转写调用demo(语音识别)