python中获取执行脚本路径方法

1、sys.path[0]:获取执行脚本目录绝对路径

#每次执行脚本时,python会将执行脚本目录加入PYTHONPATH环境变量中(sys.path获取)
#!/usr/bin/python3
import os
import sys
print(sys.path)
print(sys.path[0])
执行结果:
[root@localhost tmp]# ./py_test1/pytest24.py
['/tmp/py_test1', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages/pip-9.0.1-py3.6.egg']
/tmp/py_test1

2、sys.argv[0]:获取脚本执行本身路径;

#!/usr/bin/python3
import os
import sys
print(sys.argv[0])
执行1结果:
[root@localhost tmp]# ./py_test1/pytest24.py   #相对路径执行脚本则会返回相对路径
./py_test1/pytest24.py
执行2结果:
[root@localhost tmp]# /tmp/py_test1/pytest24.py  #绝对路径执行脚本则返回绝对路径
/tmp/py_test1/pytest24.py

注:sys.argv[0]获取得不是脚本目录路径,而是脚本本身执行时的路径!

3、__file__:同sys.argv[0]相似,获取脚本执行本身路径:

#!/usr/bin/python3
import os
import sys
print("sys.argv[0] Output:",sys.argv[0])
print("__file Output:",__file__)
执行1结果:
[root@localhost tmp]# ./py_test1/pytest24.py   #相对路径执行脚本则会返回相对路径
sys.argv[0] Output: ./py_test1/pytest24.py
__file Output: ./py_test1/pytest24.p执行2结果:
[root@localhost tmp]# /tmp/py_test1/pytest24.py  #绝对路径执行脚本则会返回绝对路径
sys.argv[0] Output: /tmp/py_test1/pytest24.py
__file Output: /tmp/py_test1/pytest24.py

注:__file__获取得不是脚本目录路径,而是脚本本身执行时的路径!

4、os.path.abspath(__file__)和os.path.realpath(__file__):获取脚本执行本身的绝对路径

  通过获取__file__路径,然后转换成绝对路径

#!/usr/bin/python3import os
import sysprint("__file Output:",__file__)
print(os.path.abspath(__file__))
print(os.path.realpath(__file__))
执行结果:
[root@localhost tmp]# ./py_test1/pytest24.py
__file Output: ./py_test1/pytest24.py
/tmp/py_test1/pytest24.py
/tmp/py_test1/pytest24.py

注:os.path.abspath(__file__)和os.path.realpath(__file__)获取得是脚本本身的绝对路径!

------------------------------------------------------

ABAQUS与执行脚本路径

ABAQUS cae script=xxx.py 命令下

1、sys.path[0],;

2、sys.argv[0],cae执行文件路径;

3、sys.argv[5],工作路径;

4、os.getcwd(),同3工作路径;

5、os.path.abspath(__file__),出错;

难以获取py文件路径

ABAQUS cae script=xxx.py 命令下

1、sys.argv[3],py文件路径;

待补充

python 操作oracle 执行脚本_python、abaqus执行脚本路径相关推荐

  1. 用Python操作Oracle

    Python作为一门易学易用且不失强大的语言, 国内外不乏用Python开发的从桌面系统到复杂大型系统的例子.但作为脚本语言中的一位著名代表,Python不仅可以用来取代Java.C++等系统 语言来 ...

  2. python访问oracle_用Python操作Oracle

    本文转载于: 用Python操作Oracle Python作为一门易学易用且不失强大的语言, 国内外不乏用Python开发的从桌面系统到复杂大型系统的例子.但作为脚本语言中的一位著名代表,Python ...

  3. Python操作Oracle数据库:cx_Oracle

    1 安装与导入 Python操作Oracle数据库多用cx_Oracle这个第三方扩展,总体而言,cx_Oracle的使用方式与Python操作MySQL数据库的pymysql库还是很相似的,如果还没 ...

  4. python操作Oracle数据库

    1. 准备工作 ① 首先,你必须安装好Oracle数据库.Oracle数据库的安装并不是那么容易,大家可以去找一个安装教程,慢慢研究. ② 其次,你既然用Python操作Oracle,你必须要安装Py ...

  5. python操作Oracle、PostgreSQL,MySql数据库增删改查

    python操作Oracle.PostgreSQL,MySql数据库增删改查,工作中可运行案例,直接上代码,供大家参考. # _*_ coding:UTF-8 _*_#import ServerCon ...

  6. python动态运行py代码_Python 动态执行

    Python 动态执行 2015-06-16 Tuesday 在 Python 中,允许通过 exec 和 eval 执行以字符串形式表示的代码片段,这体现了动态语言的特性,可以让代码变得更灵活.实际 ...

  7. python从oracle提取数据库_Python编程实战之Oracle数据库操作示例

    本文实例讲述了Python编程实战之Oracle数据库操作.分享给大家供大家参考,具体如下: 1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来 ...

  8. python读取oracle数据库性能_python 连接oracle数据库,报错解决,pandas读取。

    背景:工作需要,windows环境下要用python连接oracle,用pandas处理数据. 目标:连接oracle,并读取为DataFrame格式. 连接oracle是个大坑,尝试了很久终于整好了 ...

  9. python操作文件和目录_Python操作文件和目录

    Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...

最新文章

  1. 【OpenCV 4开发详解】多通道分离与合并
  2. torch.argmax()函数
  3. 1785: 数字游戏(贪心/bfs--定义全局数组变量遇到编译错误的问题)
  4. 10-19 查询学生成绩及汇总其总学分 (10 分)
  5. python中的 生产者和消费者
  6. python绘制两个离散变量关系图——马赛克图
  7. 《认知天性》:讲述基于科学的学习方法
  8. 苏州大学计算机复试python_苏州大学计算机考研复试经验总结
  9. Python微信公众号接入图灵机器人
  10. Failed to open the host Key database file
  11. Python实现逆Radon变换——直接反投影和滤波反投影
  12. 小窍门:简历邮箱格式的正确写法,个人简历怎么发送到邮箱?
  13. 如果图G=V,E是哈密尔顿图,则它必然具备下述性质
  14. 利用Xshell映射云端服务器的visdom,进行训练过程可视化
  15. linux dhcp 故障转移,Windows DHCP 故障转移
  16. 李宏毅-机器学习-RNN-笔记
  17. 聊聊引擎底层如何实现BRDF渲染算法
  18. Syzmlw 非诚勿扰电影在线观看
  19. 江西移动10086呼叫中心加大客服权限 提升投诉处理效率
  20. 张飞硬件设计与开发笔记(1):电路中阻值的计算和电源电路中滤波电容的计算

热门文章

  1. dart系列之:浏览器中的舞者,用dart发送HTTP请求
  2. linux操作系统原理_Linux系统从新手到运维老鸟学习指南
  3. C++ map 使用详解(含C++20新特性)
  4. leetcode-- 338. Counting Bits
  5. 详解JSONObject.parseObject和JSONObject.fromObject——Web网络系列学习笔记
  6. 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)
  7. 10行代码AC——UVA 11538-Chess Queen(数学规律+数列,附详细讲解)
  8. centos 7 局域网丢包排查_宽带发生故障怎么办?教你几招轻松排查
  9. python爬虫之美女图片爬取
  10. FreeRTOS内核详解(1) —— 临界段保护原理