php調用python指令碼

來源:互聯網
上載者:User

標籤:空白   支援   with   連續   class   調試   write   utf-8   分享   

主要參考兩篇文章

PHP中的換行詳解

利用PHP調試Python

Python小窺 - 寫給Python的入門者

這兩篇文章結合起來進行測試,主要過程如下

cd /var/www/htmlmkdir scriptnano script/test.py#粘貼代碼nano test002.php#粘貼代碼

期間主要遇到的問題有
php檔案裡面的路徑/script/test.py,改為script/test.py,作者顯然在根目錄添加的目錄

php換行的實現,想實現,本來用\n,結果失敗,於是用<br>,搞定,實現結果如

繼續修改,發現對於連續迭代語句無法正常列印資料,具體還沒查詢原因,猜測是由於python本身報錯,可以本地運行指令碼測試。

另外的測試是中文支援情況,發現中文的時候網頁全部空白,顯然就是報錯了,本來以為是php對中文支援的不好,於是修改了,添加了中文支援,發現情況依舊,於是本地測試python的中文支援情況,發現不支援,按照報錯資訊

Non-ASCII character ‘\xe8‘ in file test.py on line 9, but no encodi

查詢解決方案。原來需要開頭添加utf8的支援,添加行注釋搞定,最終的php指令碼內容為

<?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-8print ‘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 xprint ","for x in range(1,11):print"qiangge_is_god"[x%3*14:]+"i_can‘t_believe_it"[x%5*18:]or xprint ","False = Trueif False:    print "Hello"else:    print "World"print ‘,‘

 最後顯示的

 

php調用python指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.