EML使用python語言寫小算法

最開始一直在查怎么把python程序編譯打包成可以用java -cp使用的jar包,科科,愚蠢的我如此可愛。最后在微信群里問了一下,python程序直接將.py文件放到文件夾里壓縮成zip文件,然后上傳即可使用,CMD命令為python xx.py,和在shell 里的命令一樣。

需求可以參閱我的上一篇日志:用eclipse+maven為scala編寫的源程序打jar包

話不多說,直接上代碼:

# -*- coding: utf-8-*-
import fileinput
import sys

#read operation
inmatrix=""
for line in fileinput.input(sys.argv[1]):
    inmatrix+=line
print(inmatrix)
numberofchar =inmatrix.count("#")
outflag=""
            
#check operation
if(numberofchar%2==0):
    outflag="0"
    print("矩陣行數(shù)是偶數(shù),flag="+outflag)
else:
    outflag="1"
    print("矩陣行數(shù)是奇數(shù),flag="+outflag)
    print(outflag)
    
#write operation
file_out = open(sys.argv[2], 'w')
file_out.write(outflag)
file_out.close()

代碼中最核心的就是怎么把文件作為參數(shù)傳給.py文件,因為群里說CMD和在shell中執(zhí)行命令一樣,受到啟發(fā),搜索Python 獲得命令行參數(shù)的方法,在shell中輸入CMD命令python check.py matrixtest.txt result.txt,其中check.py、matrixtest.txt、result.txt放在統(tǒng)一目錄下。果然能夠運行成功。

最后復(fù)習(xí)一下利用sys模塊為.py腳本傳參數(shù):

#test.py
import sys
print "腳本名:", sys.argv[0]
for i in range(1, len(sys.argv)):
   print "參數(shù)", i, sys.argv[i]

執(zhí)行python test.py hello world 輸出為:
腳本名:test.py
參數(shù) 1 hello
參數(shù) 2 world
也就是說sys.argv[0]默認是腳本的名字,sys.argv[1]是腳本獲取的第一個參數(shù),sys.argv[2]是第二個,依次類推。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容