- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个带有 python 2.5.5 的软件。我想发送一个命令,该命令将在 python 2.7.5 中启动一个脚本,然后继续执行该脚本。
我试过用
#!python2.7.5
和http://redsymbol.net/articles/env-and-python-scripts-version/
但是我无法让它工作...在我的 python 2.5.5 中,我可以执行脚本execfile("c:/script/test.py")
问题是 2.7.5 有一个模块 comtypes + 其他几个。我不知道如何为我的 2.5.5 安装它,所以我试图启动一个单独的脚本并在 python27 下运行它。现在我想要它的另一个原因是因为我想减轻程序的负担。我有 2 项繁重的任务要执行。第二个任务是需要 comptypes 的任务,因此将其发送到外部 shell/app 将是完美的把戏。有办法吗?
我希望我可以直接输入 run("C:/Python27/python.exe % C:/script/test,py")
谢谢,再见。
小更新。我试着跑
import os
os.system("\"C:\Python27\python.exe\" D:\test\runTest.py")
但是我得到了一个快速弹出并关闭的窗口说导入错误:没有名为站点的模块...如果我从外部 shell 运行但不是从这里运行,这会起作用 :(
所以这次我尝试了另一种方法来向 python 添加模块......无论如何我运行这个:
import os
import sys
sys.path.append("C:/python27")
sys.path.append("C:/Python27/libs")
sys.path.append("C:/Python27/Lib")
sys.path.append("C:/Python27/Lib/logging")
sys.path.append("C:/Python27/Lib/site-packages")
sys.path.append("C:/Python27/Lib/ctypes")
sys.path.append("C:/Python27/DLLs")
import PyQt4
print PyQt4
import comtypes
import logging
但它因 C 错误而崩溃...运行时错误:程序:c:\Pr...R6034应用程序已尝试错误地加载 C 运行时库。blablabla....
如何导入?也许如果我可以导入它,我可以直接从我的应用程序运行它,而不是启动单独的 python...
Traceback (most recent call last):
File "<string>", line 18, in <module>
File "C:\Python27\Lib\site-packages\comtypes\__init__.py", line 22, in <module>
from ctypes import *
File "C:\Python27\Lib\ctypes\__init__.py", line 10, in <module>
from _ctypes import Union, Structure, Array
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
isseu 的另一个更新
所以我现在就跑
import os
os.system("start cmd {D:\test\runTest.py}")
现在这有效,他打开 CMD,目录为 c:\Python27,但他没有运行该文件...任何 hitns 如何修复它?
最佳答案
使用“原始”字符串,这样您就不需要转义太多;我认为反斜杠破坏了您的代码,因为反斜杠在原始字符串中被视为转义字符 except。
此外,使用 subprocess
模块。它可以很容易地避免手动创建安全的命令字符串(该模块会为您处理)。您需要做的就是向它传递一个参数列表。
你的代码看起来像这样:
import subprocess
proc = subprocess.Popen([r"C:\Python27\python.exe", r"D:\test\runTest.py"])
# then either do this
proc.wait() # wait until the process finishes
# or this
while True:
# NOTE: do something else here
# poll the process until it is done
if proc.poll() is not None:
break # break out of loop
参见 Python 2 的子进程文档 here .请务必检查是否在 Python 2.5 之后添加了某个功能(据我所知,2.5 文档不再在线提供)。
更新:
我刚注意到您试图在 2.5 代码中使用 Python 2.7 库和模块。由于 2.5 之后添加的新功能,这可能无法正常工作。但这让我开始思考如何让 2.7 正常工作。
可能是你安装的Python2.7找不到它的库;这可能就是您收到错误 Import Error : no module named site
的原因。您可以执行与上述类似的操作,并在 启动子进程之前修改 PYTHONPATH
环境变量,如下所示:
import os
import subprocess
paths = [r"C:\python27", r"C:\python27\libs", r"C:\python27\Lib\site-packages", r"C:\python27\DLLs"]
paths += os.environ.get('PYTHONPATH', '').split(os.pathsep)
env27 = dict(os.environ)
env27['PYTHONPATH'] = os.pathsep.join(paths)
proc = subprocess.Popen([r"C:\Python27\python.exe", r"D:\test\runTest.py"], env=env27)
关于python - 使用不同的 python 从 python 运行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180754/
我有 powershell 脚本。通过调度程序,我运行 bat 文件,该文件运行 PS1 文件。 BAT文件 Powershell.exe -executionpolicy remotesigned
什么更快? 或者 $.getScript('../js/SOME.js', function (){ ... // with $.ajaxSetup({ cache: true });
需要bash脚本来显示文件 #!/bin/bash my_ls() { # save current directory then cd to "$1" pushd "$1" >/dev/nu
我有一个输入 csv 文件,实际上我需要在输入文件中选择第 2 列和第 3 列值,并且需要转换两个值的时区(从 PT 到 CT),转换后我需要替换转换后的时区值到文件。 注意: 所有输入日期值都在太平
我正在使用/etc/init.d/httpd 作为 init.d 脚本的模板。我了解文件中发生的所有内容,但以下行除外: LANG=$HTTPD_LANG daemon --pidfile=${pid
我有以下选择: python runscript.py -O start -a "-a "\"-o \\\"-f/dev/sda1 -b256k -Q8\\\" -l test -p maim\""
我对 shell 脚本完全陌生,但我需要编写一个 shell 脚本来检查文件是否存在,然后移动到另一个位置 这是我写的: 一旦设备崩溃,我就会在/storage/sdcard1/1 中收集日志 #!/
我正在使用 bash 脚本从文本文件中读取数据。 数据: 04:31 Alex M.O.R.P.H. & Natalie Gioia - My Heaven http://goo.gl/rMOa2q
这是单击按钮时运行的 javascript 的结尾 xmlObj.open ('GET', /ajax.php, true); xmlObj.send (''); } 所以这会执行根目录中的php脚本
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我需要将文件转换为可读流以通过 api 上传,有一个使用 fs.createReadStream 的 Node js 示例。任何人都可以告诉我上述声明的 python 等价物是什么? 例子 const
我有一个 shell 脚本 cron,它从同一目录调用 python 脚本,但是当这个 cron 执行时,我没有从我的 python 脚本中获得预期的输出,当我手动执行它时,我的 python 脚本的
如何使 XMLHttpRequest (ajax) 调用的 php 脚本安全。 我的意思是,不让 PHP 文件通过直接 url 运行,只能通过脚本从我的页面调用(我不想向未登录的用户显示数据库结果,并
我正在尝试添加以下内容 我正在使用经典的 asp。但我不断收到的错误是“一个脚本 block 不能放在另一个脚本 block 内。”我尝试了此处的 document.write 技术:Javasc
如何从另一个 PHP 脚本(如批处理文件)中运行多个 PHP 脚本?如果我了解 include 在做什么,我认为 include 不会起作用;因为我正在运行的每个文件都会重新声明一些相同的函数等。我想
我想创建具有动态内容的网页。我有一个 HTML 页面,我想从中调用一个 lua 脚本 如何调用 lua 脚本? ? ? 从中检索数据?我可以做类似的事情吗: int xx = 0; xx
我删除了我的第一个问题,并重新编写了更多细节和附加 jSfiddle domos。 我有一个脚本,它运行查询并返回数据,然后填充表。表中的行自动循环滚动。所有这些工作正常,并通过使用以下代码完成。然而
我尝试使用 amp 脚本,但收到此错误: “[amp-script] 脚本哈希未找到。amp-script[script="hello-world"].js 必须在元[name="amp-script
我有一个读取输入的 Shell 脚本 #!/bin/bash echo "Type the year that you want to check (4 digits), followed by [E
我正在从 nodejs 调用 Lua 脚本。我想传递一个数组作为参数。我在 Lua 中解析该数组时遇到问题。 下面是一个例子: var script = 'local actorlist = ARGV
我是一名优秀的程序员,十分优秀!