調用python
1. 怎樣調用一個python文件讓他執行
在dos命令行輸入
python安裝路徑\python.exe XXX.py
其中XXX.py是你要執行的python路徑
2. c可以調用python嗎
可以的。
C中內嵌Python
新建立一個工程,首先需要將工作目錄設置到Python-3.1.1PCbuild中,以獲取到動態庫,至於靜態庫的包含,Include目錄的指定,那自然也是少不了的。文件中需要包含Python.h文件,這也是必須的。
介面中
Py_Initialize();
Py_Finalize();
其他的根據需求,再引入相應的python builder 即可
3. 怎麼自動調用python執行python腳本
1:確保安裝了python;
2:配置python到系統的環境變數;
3:cmd命令行執行 python filename.py 即可執行腳本。
4. python py文件中執行另一個py文件
方法一、
import os
os.system("python filename.py")
方法二:
execfile('xx.py'),括弧內為py文件路徑;
註:如果需要傳參數,就用os.system()那種方法;如果還想獲得這個文件的輸出,那就得用os.popen();
(4)調用python擴展閱讀:
Python入門命令行怎麼調用.py文件中容易出現的問題
1、如果文件路徑是這樣的:C:Userssd est.py,那麼在命令行狀態下輸入:
C:Userssd> python test.py
2、如果是互動式輸入狀態(>>>←有三個這種折就是互動式狀態),需要輸入:>>> exit()
就會變回命令行狀態。
3、如果文件路徑是:D: est.py ,那麼在命令行狀態下輸入:
C:Userssd> python D: est.py
4、還可以用「cd 文件夾名字」進入新的當年文件夾。
5. php調用python
py和php放在同一個目錄下面
some.py
------------------------------------------
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
def do_some(a):
return "dosome:%s" % a
if __name__ == '__main__':
a = sys.argv[1]
if a:
T = do_some(a)
print T
-------------------------------------------
t.php
<?php
$k = $_REQUEST['k'];
if (!empty($k))
{
$k = trim($k);
// $a = array();
// exec('python ./some.py '.$k, $a);
// echo $a[0];
passthru('python ./some.py '.$k);
}
然後瀏覽器裡面輸入
瀏覽器會返回dosome:test
被我注釋掉的代碼也可以用來替代passthru
裡面的$a 用來捕獲輸出 不過束腰注意的是 這里的arry 他是按照每一行'
'當作一個元素
但是passthru 則是你python里的print的原樣輸出
6. python如何使用import調用python文件
假如你要包含的python文件名叫aa.py
那麼直接import aa就好,另外確認這個aa.py在你的python文件同一目錄或者是pythonpath裡面
7. javascript 可否直接調用python
不行的,Python本身帶的模塊沒有Javascript引擎。可以安個 https://github.com/davisp/python-spidermonkey 插件就可以調用了。
8. 如何在Java中調用Python代碼
Jython(原JPython),是一個用Java語言寫的Python解釋器。
在沒有第三方模塊的情況下,通常選擇利用Jython來調用Python代碼,
它是一個開源的JAR包,你可以到官網下載
一個HelloPython程序
importorg.python.util.PythonInterpreter;
publicclassHelloPython{
publicstaticvoidmain(String[]args){
PythonInterpreterinterpreter=newPythonInterpreter();
interpreter.exec("print('hello')");
}
}
什麼是PythonInterpreter?它的中文意思即是「Python解釋器」。我們知道Python程序都是通過解釋器來執行的,我們在Java中創建一個「解釋器」對象,模擬Python解釋器的行為,通過exec("Python語句")直接在JVM中執行Python代碼,上面代碼的輸出結果為:hello
在Jvm中執行Python腳本
interpreter.execfile("D:/labs/mytest/hello.py");
如上,將exec改為execfile就可以了。需要注意的是,這個.py文件不能含有第三方模塊,因為這個「Python腳本」最終還是在JVM環境下執行的,如果有第三方模塊將會報錯:javaImportError:Nomolenamedxxx
僅在Java中調用Python編寫的函數
先完成一個hello.py代碼:
defhello():
return'Hello'
在Java代碼中調用這個函數:
importorg.python.core.PyFunction;
importorg.python.core.PyObject;
importorg.python.util.PythonInterpreter;
publicclassHelloPython{
publicstaticvoidmain(String[]args){
PythonInterpreterinterpreter=newPythonInterpreter();
interpreter.execfile("D:/labs/hello.py");
PyFunctionpyFunction=interpreter.get("hello",PyFunction.class);//第一個參數為期望獲得的函數(變數)的名字,第二個參數為期望返回的對象類型
PyObjectpyObject=pyFunction.__call__();//調用函數
System.out.println(pyObject);
}
}
上面的代碼執行結果為:Hello
即便只是調用一個函數,也必須先載入這個.py文件,之後再通過Jython包中所定義的類獲取、調用這個函數。
如果函數需要參數,在Java中必須先將參數轉化為對應的「Python類型」,例如:
__call__(newPyInteger(a),newPyInteger(b))
a,b的類型為Java中的int型,還有諸如:PyString(Stringstring)、PyList(Iterator
9. html中調用python腳本
最常用的是用jquery的ajax功能是:
function serialGen(){
var Pattern = document.getElementById("pattern");
//用get方式將Pattern的值傳到伺服器上, 當然也可以使用post
$.get('ajax/test.html?patern=' + Pattern.value, function(data) {
document.forms[1].elements["pep"].value = data;
});
}
10. python中怎麼調用自己的方法
C/C++對Python的調用層次可以分為三個層次, (1) 高層次的調用, (2)純Python調用, (3) Python方法的擴展(也就使向Python輸出調用函數). 這里我主要討論(1)和(2)兩種方法.
1 高層次的調用
這是最簡單的一種在C/C++中調用Python的方法. 它直接的調用Python提供的C調用介面函數, 這些函數主要有: PyRun_SimpleString(), PyRun_SimpleStringFlags(), PyRun_SimpleFile(), PyRun_SimpleFileEx()和PyRun_SimpleFileExFlags()幾個. 函數的具體用法參考Python的文檔.
這里舉個例子來說明這種層次的用法:
由這個例子可見, 在C/C++中調用Python的內容非常簡單, 只要構造一個簡單的Python調用字元串.這里要注意的就是, Python調用串語句之間要用'/n'來分開, 且語句之間不能有空格, 如上面的Python字元串不能寫成: "import sys/n print sys.path" , 否則要出錯的.
// c/c++ 中 Python 調用必須的頭文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析環境
Py_Initialize();
// 構造Python執行腳本
char szPyScript[128];
sprintf(szPyScript, "import sys/nprint sys.path");
if(PyRun_SimpleString(szPyScript) != 0)
{
sprintf(stderr, "execute /'%s/'failed!", szPyScript);
return -1;
}
// 清除Python解析環境
Py_Finalize();
}
//
//
以上的例子也表明了在C/C++中調用Python的基本結構, 就是
(1) 先初始化Python環境然: Py_Initialize()
(2) 具體對Python的操作
(3) 清除Python環境
更復雜的一個使用高層調用的例子, 這個例子用PyRun_SimpleFile的例子.
這里值得注意是, 在Window中:
(1) 鏈接debug版本的時候會自動鏈接PythonXX(_d).lib庫, PythonXX_d安裝時是沒有安裝的, 所以要顯示的指定鏈接PythonXX.lib庫, 不知道VC6.0為什麼還會去找PythonXX_d.lib, 在vs7.0不會.
(2) 編譯時要以 /MD(多線程DLL) 選項編譯(不論時debug版本還時release版本都一樣).
以上我在VC7.0中可以正確的運行, 在VC6.0這樣還不行, 可能和我使用的版本有關系(我用的版本是:Python24.lib). 有知道的請賜教!!
// c/c++ 中 Python 調用必須的頭文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析環境
Py_Initialize();
//
char szFile[] = "PyFile.py";
//sprintf(szPathFile, "%s//%s", szPath, szFile);
FILE* fp = fopen(szFile, "r");
if(PyRun_SimpleFile(fp, szFile) != 0)
{
fclose(fp);
sprintf(stderr, "PyRun_SimpleFile(%s) failed!", saFile);
return -1;
}
fclose(fp);
// 清除Python解析環境
Py_Finalize();
}
2 純Python調用