python 获取运行脚本和模块的绝对路径
方法一:sys.args[0]
在python的运行时,sys.argv[0],存了当前脚本的运行路径包括文件名
python test.py
则:sys.argv[0] =>test.py python dirname1/dirname2/test.py
则:sys.argv[0] =>dirname1/dirname2/test.py python /centos/home/test.py
则 sys.argv[0] =>/centos/home/test.py
方法二:使用__file__
print(__file__)
C:/Users/WQBin/PycharmProjects/pyMibXgo/daydaywork/creidt 表历史存档/test4.py
import pymongo print(pymongo.__file__) D:\app\Anaconda\lib\site-packages\pymongo\__init__.py
方法三:使用abspath和getcwd()
def abspath(path):
"""Return the absolute version of a path.""" if path: # Empty path must return current working directory.
path = os.fspath(path)
try:
path = _getfullpathname(path)
except OSError:
pass # Bad path - return unchanged.
elif isinstance(path, bytes):
path = os.getcwdb()
else:
path = os.getcwd()
return normpath(path)
完结!!
python 获取运行脚本和模块的绝对路径的更多相关文章
- python 中 使用sys模块 获取运行脚本时在命令行输入的参数
在python项目的开发的过程中, 经常需要运行各种python脚本, 有时候还需要根据不同的使用情况输入不同的参数, 如果每次都去编辑一下脚本那就太麻烦,太耗费时间了, 这时就可以使用Python自 ...
- Python获取当前脚本文件夹(Script)的绝对路径
Python获取当前脚本绝对路径 Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题.感觉是当前工作目录变成了导入py文件当前目录.如果你有配 ...
- Python导入运行的当前模块报错
引言 今天遇到了一个奇怪的现象,简单举个栗子: 文件结构如下:
- Python 获取当前脚本文件路径目录
# -*- coding: cp936 -*- import sys,os # 获取脚本文件的当前路径 def cur_file_dir(): # 获取脚本路径 path = sys.path[0] ...
- python获取指定文件夹下的文件路径
#!/usr/bin/python# -*- coding: UTF-8 -*-# @date: 2018/1/6 23:08# @name: tmp2# @author:vickey-wu impo ...
- python 获取当前,上级,上上级路径
import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) pr ...
- python 获取子目录下的所有文件的路径
import os pathss=[] for root, dirs, files in os.walk(tarpath): path = [os.path.join(root, name) for ...
- Python使用pip安装Numpy模块
安装Numpy模块一般有两种安装方法: 一:下载模块对应的.exe文件,直接双击运行安装 二:下载模块对应的.whl文件,使用pip安装 对于exe文件的安装比较简单,都是双击运行,这里就不说了. 这 ...
- python学习之——import sys模块
(1)sys.argv sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突.另外,它也清晰地表明了这个名称是sy ...
随机推荐
- APP 和小程序中通过日期格式获取时间戳的一个bug
介绍一下背景:业务逻辑就不多说了,就说关键出问题的一步,需要将 2019-10-10 这个格式转换为时间戳.在不同平台不同场景下问题还很怪异 app上:ios 安卓线上的都有问题 ios模拟器没问题 ...
- 乐字节Java反射之四:反射相关操作
大家好,乐字节小乐继续为Java初学者讲述Java基础知识.上次说到乐字节Java反射之三:方法.数组.类加载器,这次是Java反射之四:反射相关操作 1.操作属性 //1.获取Class对象 Cla ...
- select 和v-model
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Mac配置虚拟环境Virtualenv,安装Python科学计算包详解
参考: https://www.jianshu.com/p/51140800e8b4 安装 virtualenvwrapper Virtaulenvwrapper是virtualenv的扩展包,可以更 ...
- [转帖]一个关于国密SM4的故事
一个关于国密SM4的故事 https://www.cnblogs.com/ouyida3/p/10053862.html SM1 硬件SM2 非对称加密SM3 hash算法SM4 对称加密 一个关于国 ...
- js时间戳与日期格式之间相互转换
###js时间戳与日期格式之间相互转换 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法, ...
- 正则表达式的运行原理详解(NFA,多分支原理)
原文:https://blog.csdn.net/yx0628/article/details/82722166
- XML和JSON序列化以及反序列化
1.将文件保存序列化至文档中,然后再读取: //首先创建可序列化的实体类 [Serializable] public class Message { public string Name { get; ...
- C#通过重载构造函数传递参数、实现两个窗体下的方法的互相调用
直接切入主题 有时候同一个项目下我们可能会使用多个窗体,窗体间方法互相调用也不可避免,好了,使用无参无返回值的方法,开始上图 1.新建一个winform项目Form1,并再添加一个窗体Form2:拖入 ...
- Quartz任务调度:MisFire策略和源码分析
Quartz是为大家熟知的任务调度框架,先看看官网的介绍: ---------------------------------------------------------------------- ...