Python の簡単なスキルと共通のリファレンス_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:16:56
オリジナル
762 人が閲覧しました

Pythonの簡単なヒントと一般的なリファレンス

Pythonファイルは中国語をサポートしています

# -*- コーディング: UTF-8 -*-

シェルコマンドを実行する

サブプロセスインポートPopen、PIPEから
def run_cmd(cmd):
#Popen 呼び出しwrapper.return (コード、標準出力、標準エラー出力)
子 = Popen(cmd、標準入力 = PIPE、標準出力 = PIPE、標準エラー出力 = PIPE、シェル = True)
エラー = child.communicate()
ret = child.wait()
戻る (戻る、出る、エラー)

現在のPythonスクリプトファイルのパスを取得します

OSをインポート
os.path.split(os.path.realpath(__file__))[0]
jsonモジュールのインポートの問題

試してください:
jsonをインポート
例外:
simplejson を json としてインポートします

jsonツールを使用してjsonをフォーマットします

#python 2.7 以下
echo \'{\"hello\":1}\' | python -m simplejson.tool
#Python 2.7 以降
echo \'{\"hello\":1}\' | python -m json.tool

一般的な通話手順

Py_Initialize() //Python 環境を初期化します
PyImport_ImportModule("test") // Python モジュールをロードします
; PyObject_GetAttrString(g_pModule,"test1"); // 対応する Python 関数の PyObject を取得します
PyObject_CallFunction(test1,"i,s",2,e) //Python で対応する関数を呼び出します
; Py_Finalize() //終了

C言語のサンプルコード

#include
int main(){
PyObject * g_pModule = NULL;
Py_Initialize(); //Python を使用する前に、この関数を初期化する必要があります
if (!Py_IsInitialized())
{
printf("初期化エラー\n");
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
g_pModule =PyImport_ImportModule("mytest");//これは呼び出されるファイル名です、ここに現在のディレクトリにあるtest.pyがあります
if (!g_pModule) {
printf("Python ファイルを開けません!\n");
return -2;
}
PyObject * test1 = PyObject_GetAttrString(g_pModule,"test1"); // 呼び出される関数名は次のとおりです
PyObject *objResult = PyObject_CallFunction(test1,"i,s",2,e);//関数を呼び出す
if (!objResult){
printf("関数呼び出し失敗\n");
}

PyObject * test2= PyObject_GetAttrString(g_pModule,"test2");//これは呼び出される関数名です
objResult = PyObject_CallFunction(test2,"i",2);//関数を呼び出す
char * x = PyString_AsString(objResult);
printf("%s\n",x);
Py_Finalize();//Py_Initialize に対応する Py_Finalize を呼び出します。
}
Python プログラム mytest.py

def test1(s,str):
印刷 s+str
0を返す
デフォルトテスト2:
返します

Cプログラムのコンパイル方法

# コンパイル時に Python が /opt/python にインストールされていると仮定すると、このようなコマンドを使用してプログラムをコンパイルできます
$gcc -I/opt/python/include -L/opt/python/lib/ -lpython2.7 test.c
注: Python をコンパイルするときは、ダイナミック リンク ライブラリを用意し、 --enable-shared を追加する必要があります

./configure --prefix=/opt/python --enable-shared

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/895550.html技術記事 Python の簡単なスキルと共通のリファレンス Python ファイルは中国語をサポート # -*- コーディング: UTF-8 -*- サブプロセスからシェル コマンドを実行 import Popen, PIPE def run_cmd(cmd): #Popen call Wrapper.return...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート