主要參考兩篇文章php
PHP中的換行詳解html
利用PHP調試Pythonpython
Python小窺 - 寫給Python的入門者shell
這兩篇文章結合起來進行測試,主要過程以下測試
cd /var/www/html mkdir script nano script/test.py #粘貼代碼 nano test002.php #粘貼代碼
期間主要遇到的問題有
php文件裏面的路徑/script/test.py,改成script/test.py,做者顯然在根目錄添加的目錄this
php換行的實現,想實現,原本用\n,結果失敗,因而用<br>,搞定,實現結果以下圖spa
繼續修改,發現對於連續迭代語句沒法正常打印數據,具體還沒查詢緣由,猜想是因爲python自己報錯,能夠本地運行腳本測試。調試
另外的測試是中文支持狀況,發現中文的時候網頁所有空白,顯然就是報錯了,原本覺得是php對中文支持的很差,因而修改了,添加了中文支持,發現狀況依舊,因而本地測試python的中文支持狀況,發現不支持,按照報錯信息code
Non-ASCII character '\xe8' in file test.py on line 9, but no encodi
查詢解決方法。原來須要開頭添加utf8的支持,添加行註釋搞定,最終的php腳本內容爲htm
<?php #header("Content-type: text/html; charset=utf-8"); $output = shell_exec('python script/test.py'); $array = explode(',', $output); foreach ($array as $value) { #echo "\n"; echo $value; echo "<br>"; } ?>
python內容爲
# coding=utf-8 print 'this is a Python program with PHP,' #print '\n' print "22," print "21," print "26," print "22," print "21," print 'Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five $ print '要求:打印1到100,遇到3的倍數,只打印「Fizz」,遇到5的倍數,打印「Buzz」,同時遇到3,5的倍數,打印「FizzBuzz」,' for x in range(1,101):print"Fizz"[x%3*4:]+"Buzz"[x%5*4:]or x print "," for x in range(1,11):print"qiangge_is_god"[x%3*14:]+"i_can't_believe_it"[x%5*18:]or x print "," False = True if False: print "Hello" else: print "World" print ','
最後顯示的效果圖