java中如何呼叫Python指令碼檔案
2.下載完成之後,新增到java的工程中,新增工程參考部落格
3.編寫python函式,本次編寫的函式主要用於爬取一個笑話網頁的笑話,程式碼如下:
# -*- coding: utf-8 -*- import urllib2 import re import os def myStory(title_Content,number): xx =urllib2.urlopen("http://www.haha365.com/joke/index_1.htm") data = xx.read().decode('GBK') patter = re.compile("<h3><A href.*?>(.*?)</a></h3>",re.S) patter1 = re.compile("<div id=\"endtext\">(.*?)</div>",re.S) res = re.findall(patter,data) resText = re.findall(patter1,data) for i in range(len(resText)): resText[i] = resText[i].replace("<br />","") resText[i] = resText[i].replace("&ldquo","") resText[i] = resText[i].replace("&rdquo", "") resText[i] = resText[i].replace("</p>", "") resText[i] = resText[i].replace("<p>", "") if title_Content==1: return res[number] else: return resText[number]
4.編寫java端函式:
package guitest; import java.io.UnsupportedEncodingException; import java.util.Properties; import org.python.core.PyFunction; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.core.PyObject.ConversionException; import org.python.core.PyString; import org.python.util.PythonInterpreter; public class FirstJavaScript { public static void main(String args[]) throws UnsupportedEncodingException, ConversionException { Properties props = new Properties(); props.put("python.console.encoding", "utf-8"); props.put("python.security.respectJavaAccessibility", "false"); props.put("python.import.site", "false"); Properties preprops = System.getProperties(); PythonInterpreter.initialize(preprops, props, new String[0]); PythonInterpreter interpreter = new PythonInterpreter(); //python檔案路徑 interpreter.execfile("F:/whg/whg.py"); //獲取python檔案中的函式 PyFunction func = interpreter.get("myStory", PyFunction.class); //呼叫函式 PyObject title = func.__call__(new PyString("12"),new PyInteger(1),new PyInteger(10)); PyObject content = func.__call__(new PyString("12"),new PyInteger(2),new PyInteger(10)); //輸出內容 System.out.println(title.toString()); System.out.println(content.toString()); } }
5.執行之後,輸出的結果為:
笑話名字:還真沒你啥事
笑話內容:昨晚和一哥們喝酒,突然就問他最近婚姻感情怎麼樣,哥們平淡道:沒啥問題,就是換了幾位丈母孃。
我佩服的五體投地:可以啊,神人啊。
哥們不平道:沒我啥事,TMD,是我岳父厲害!
相關推薦
java中如何呼叫Python指令碼檔案
2.下載完成之後,新增到java的工程中,新增工程參考部落格3.編寫python函式,本次編寫的函式主要用於爬取一個笑話網頁的笑話,程式碼如下:# -*- coding: utf-8 -*- import urllib2 import re import os def my
Mac筆記本中是用Idea開發工具在Java專案中呼叫python指令碼遇到的環境變數問題解決
問題描述: mac筆記本本身會自帶幾個python版本,比如python2.7版本,我沒有改動mac預設的python版本,只是安裝了python3.7版本。 使用Pycharm開發Python專案沒有遇到什麼問題。但是在java專案中呼叫py指令碼的話,就有問題了。我的專案需要將Pycharm開發好的p
java中呼叫本地指令碼
java中可以呼叫本地指令碼,也可以遠端呼叫shell指令碼,但是java呼叫遠端指令碼不安全,一般不這麼做,那該怎麼呼叫呢? 建議在本地寫個指令碼呼叫遠端指令碼,在java程式中呼叫本地指令碼,具體程式碼: private int execShell(String shellPa
Python:Win7下Git Bash中呼叫python指令碼
Git Bash中呼叫python指令碼需要使用:winpty python hello.py。每次呼叫的時候都這麼寫,太麻煩了。使用alias python='winpty python' 將'winpty python'重新命名為'python',這樣每次呼叫的時候直接輸
[JAVA]Runtime 呼叫Python指令碼(可傳參)
使用場景:在java中通過runtime呼叫python指令碼 1.python指令碼中連線Oracle資料庫查詢資料後輸出檔案,指令碼頭內容如下 #!/usr/bin/python3 #encoding=utf-8 import os from pypinyin im
java 直接呼叫python指令碼,並傳遞引數
最近陸續用python寫了很多檔案處理指令碼,雖然功能都比較簡單 ,但還是感覺到python對檔案處理的簡潔高效 ,越發覺得java的語法相當的繁瑣~ 接到個需求處理ftp資料介面 。所以想把python指令碼也用上。java程式碼定時掃描ftp資料倉庫 ,呼叫pyt
在C#中呼叫python指令碼,並使用python第三方arcpy模組
前言 1、C#中呼叫python指令碼,一是通過ironpython直接執行python指令碼,二是通過呼叫Process類啟動電腦上的python.exe,執行python指令碼。 前者在使用第三方arcpy模組式,會提示錯誤:No Module Named arcpy,
在java中呼叫python方法
import javax.script.*; import org.python.util.PythonInterpreter; import java.io.*; importstatic java.lang.System.*; publicclass FirstJavaScript
[VS2013]C++中呼叫Python指令碼提示 error LNK2001: 無法解析的外部符號__imp_PyString_FromString等錯誤的解決方案
配置如下 VS2013專案: Win32 Console,Release X64 包含目錄 : C:\Python27\include 庫 目 錄 : C:\Python27\libs
JAVA使用Runtime.getRuntime()執行python指令碼檔案
java呼叫python(含anaconda) 注意: 1、python指令碼必須都用的是絕對路徑(可以拼接) 2、python指令碼呼叫自定義的模組時要將模組路徑新增到環境中。如果用sys.append(模組絕對路徑),要每一個指令碼都要新增專案所在的路徑。 cmd命令列執行:&n
關於JAVA呼叫Python指令碼並傳遞引數
JAVA 程式呼叫python指令碼目前存在兩種形式。第一種:運用JAVA本身的自帶功能;第二種:使用jython Jar包的自帶方法來呼叫python指令碼 呼叫準備: 首先你要在本地獲取LINUX環境安裝python環境,如果是JYTHON的話需要安裝JYTHON,兩
實現在Java中執行python程式碼或py指令碼(可傳引數)
最近用Java寫服務端程式時,遇到這樣一個需求:需要把用python寫的機器學習演算法部署到伺服器上,然後Java執行py指令碼,並且取得演算法執行的結果。在網上找了很久,有些跑不通,有些是基於windows的,我的伺服器是linux的,遇到了不少坑= =好不容易解決了,記錄
Java呼叫Python指令碼(Python3,Windows10系統)
介紹下如何在Java中呼叫Python指令碼,可能是目前最簡單的方法(●’^'●)。 又是師姐的任務,要求把我的Python程式整合到純Java的系統中。於是在網上又是一頓搜尋,不乏各種厲害的方法。其中最常見的是Jython,聽起來十分高大上,直接把世界上
程式碼遷移攻略:在Java工程中呼叫Python程式碼
Python是一門好用的指令碼語言,底層基於C實現,快速且簡單。使用python可以說是站在巨人肩膀上程式設計,使得程式設計師更專注於業務及邏輯,而不是被人學爛的語言工具。但是團隊合作時候,就會有一些多
Java呼叫Python指令碼(不需要傳參)
具體步驟:1)Run-Run Configurations...-Environment-New,Name設定為:PATH,Value設定為:python的安裝路 徑,例如:D:\Program\python27
vs2010中C++呼叫python指令碼並製作安裝包
一、 準備工作 1. 安裝visual studio 210。 2. 安裝python編譯環境,筆者版本為2.7.2。 3. 安裝py2exe,用於給編寫好的python打包。 二、編寫python指令碼程式 以下程式為筆者為學校的bbs寫的登陸指令碼LilyLogin.
Java 呼叫 groovy 指令碼檔案,groovy 訪問 MongoDB
groovy 訪問 MongoDB 示例: shell.groovy package db import com.gmongo.GMongoClient import com.mongodb.BasicDBObject import com.mongodb.MongoCredential
java呼叫python指令碼——坑
在python指令碼中使用sys.argv接收入參,""(java傳過來的空字串)竟然丟失被忽略了,也是神奇。 (注意:接收引數從sys.argv[1]開始,sys.argv[0]是python指令碼的路徑地址)
java中呼叫C/C++編寫的生成的動態連線庫dll檔案介面的簡單例子
1、首先用java編寫一個簡單類 public class Hello { public native void sayHello(); static { System.loadLibrary("HelloDll"); } public static void
Java程式碼實現呼叫BAT指令碼檔案殺死程序
Java環境下呼叫bat指令碼實現殺死Windows程序: 一、編寫bat指令碼 一般使用taskkill或者ntsd來殺死程序。可以指定具體的PID和程序名來完成,可在Windows的Win+R 的cmd下輸入: taskkill /? 來檢視具體