python executable_Python sys.executable为空
我正在测试用os.execve和虚拟环境做一些恶作剧。如果我用另一个python子进程替换当前python进程,就会遇到sys.executable为空的问题。
下面的示例显示了正在进行的操作(在python shell中运行此操作):import os, sys
print(sys.executable) # works this time
os.execve("/usr/bin/python", [], {}) # drops me into a new python shell
import sys # yes, again
print(sys.executable) # is empty
我在python shell中运行上述命令的完整输出:lptp [ tmp ]: python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, sys
>>> print(sys.executable) # works this time
/usr/bin/python
>>> os.execve("/usr/bin/python", [], {}) # drops me into a new python shell
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys # yes, again
>>> print(sys.executable) # is empty
>>>
sys.executable为空会引起我的问题,最明显的是,platform.libc_ver()失败,因为sys.executable为空:>>> import platform
>>> platform.libc_ver()
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python2.7/platform.py", line 163, in libc_ver
f = open(executable,'rb')
IOError: [Errno 21] Is a directory: '/tmp'
注意,上面的示例是在调用os.execve(...)之后运行的
python executable_Python sys.executable为空相关推荐
- Python中sys模块详解
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前 ...
- python的sys模块有什么用_python sys模块详解
Python sys 模块详解 1. 简介 "sys"即"system","系统"之意.该模块提供了一些接口,用于访问 Python 解释器 ...
- 【Python】sys库介绍
sys库 sys模块是最常用的和python解释器交互的模块,sys模块可供访问由解释器(interpreter)使用或维护的变量和与解释器进行交互的函数.sys 模块提供了许多函数和变量来处理 Py ...
- python之sys库
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在处理的异常类,exc_typ ...
- python中sys用法_python中os和sys模块的区别与常用方法总结
python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...
- python之sys模块详解_(转)python之os,sys模块详解
python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...
- Python中sys.argv方法的一些典型用法
本文整理汇总了Python中sys.argv方法的典型用法代码示例. 示例1: weather_icons # 需要导入模块: import sys [as 别名] # 或者: from sys im ...
- python中sys模块有什么用_Python sys模块用法详解
sys 模块代表了 Python 解释器,主要用于获取和 Python 解释器相关的信息. 在 Python 的交互式解释器中先导入 sys 模块,然后输入 [e for e in dir(sys) ...
- python之sys
python版本: Python 2.7.6 1: sys是python自带模块. 利用 import 语句输入sys 模块. 当执行import sys后, python在 sys.path 变量中 ...
最新文章
- [引]ASP.NET 中 事务处理(SqlTransaction)示例
- db2 某个字段排序_sql字段排序 rank over
- Django框架Day3------之Models
- Java使用继承的语法是,Java基础语法八 继承
- LeetCode中二叉树题目总结
- kubernetes的常用命令
- angular监听输入框值的变化_angular 实时监听input框value值的变化触发函数方法
- Android自动调整TextView的大小
- lax文件的编码问题
- Python的基础编程
- EXT3-fs error和EXT4-fs error小总结
- Edraw Max(亿图图示)新手福音:教你思维导图的简单画法!
- 五分钟学GIS | 倾斜摄影技术
- matlab求hurst,请问如何用MATLAB计算大盘的HURST
- 使用CSS制作图片相框以及图片放大旋转效果
- 从信息传播角度来看链路预测
- 最好用的几款epub阅读器
- 压缩视频用什么软件比较好?
- 使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果
- RocketMQ PERM含义 PERM=7、6、4、2