首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python:用于os.system()和os.popen()的NullPointerException

Python:用于os.system()和os.popen()的NullPointerException
EN

Stack Overflow用户
提问于 2014-11-19 02:59:41
回答 1查看 3.2K关注 0票数 1

我在Python2.2.1上得到了一个用于os.system()os.popen()NullPointerException。奇怪的是,我有两台服务器,同样的代码在其中一台上运行得很好,但在另一台上就不行。第二台服务器中可能缺少什么?

下面是代码片段

代码语言:javascript
运行
复制
import sys
import os

print (sys.version)   #This line works on both servers and gives 2.2.1 os output 
os.system('pwd')
os.popen('hostname -f').read().rstrip('\n')

我在第二个服务器中得到以下错误:

代码语言:javascript
运行
复制
*File "/u01/oracle/mwhome/wlserver_10.3/common/wlst/modules/jython-modules.jar/Lib/javaos$py.class", line 333, in system
File "/u01/oracle/mwhome/wlserver_10.3/common/wlst/modules/jython-modules.jar/Lib/popen2.py", line 31, in ?
File "/u01/oracle/mwhome/wlserver_10.3/common/wlst/modules/jython-modules.jar/Lib/javashell.py", line 17, in ?
File "/u01/oracle/mwhome/wlserver_10.3/common/wlst/modules/jython-modules.jar/Lib/string$py.class", line 434, in ?
    at java.io.File.<init>(File.java:222)
    at java.lang.Package$1.run(Package.java:527)
    at java.lang.Package.defineSystemPackage(Package.java:520)
    at java.lang.Package.getSystemPackages(Package.java:511)
    at java.lang.ClassLoader.getPackages(ClassLoader.java:1513)
    at java.lang.ClassLoader.getPackages(ClassLoader.java:1511)
    at java.lang.Package.getPackages(Package.java:281)
    at org.python.core.JavaImportHelper.buildLoadedPackages(Unknown Source)
    at org.python.core.JavaImportHelper.tryAddPackage(Unknown Source)
    at org.python.core.imp.import_next(Unknown Source)
    at org.python.core.imp.import_name(Unknown Source)
    at org.python.core.imp.importName(Unknown Source)
    at org.python.core.ImportFunction.load(Unknown Source)
    at org.python.core.ImportFunction.__call__(Unknown Source)
    at org.python.core.PyObject.__call__(Unknown Source)
    at org.python.core.__builtin__.__import__(Unknown Source)
    at org.python.core.imp.importFromAs(Unknown Source)
    at org.python.core.imp.importFrom(Unknown Source)
    at string$py.f$0(C:\wlst\jython_2.2.1\Lib\string.py:434)
    at string$py.call_function(C:\wlst\jython_2.2.1\Lib\string.py)
    at org.python.core.PyTableCode.call(Unknown Source)
    at org.python.core.PyCode.call(Unknown Source)
    at org.python.core.imp.createFromCode(Unknown Source)
    at org.python.core.imp.createFromPyClass(Unknown Source)
    at org.python.core.ZipFileImporter$ZipFileLoader.load_module(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
java.lang.NullPointerException: java.lang.NullPointerException*
EN

回答 1

Stack Overflow用户

发布于 2014-11-19 03:22:39

这里我可能错了,但我注意到堆栈跟踪中有'C:\‘。如果这是在windows系统上运行的,'pwd‘和'hostname’可能不起作用,如果os.system / popen执行的是您在参数中输入的内容,这可能是您收到错误的原因。

我无论如何都不是windows专家,但我不认为这些命令存在于基于*nix的操作系统之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27001890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档