python파일 실행 채택완료
aws 가상서버입니다.
폴더보면
/usr/share/nginx/html/그누보드 이렇게 있는데요...
$python = `test.py`;
echo $python;
?>
이렇게 그누파일 있는곳에 같이 넣고
tython.py파일
------------------------
import random
import math
n = math.factorial(5)
print(random.randrange(100))
print(n)
print("파이썬")
------------
이 py파일을 실행해보려고 했더니 안되어서 보니
python은
/usr/lib64/python3.7 이렇게 설치되어 있네요.
이경우 어떻게 해야 할까요?
답변 3개
`test.py` 만 실행해서는 command not found겠죠.
`python test.py`처럼 실행해야 합니다.
그리고, 체크는 아래처럼 하면 됩니다.
</p>
<p><?php</p>
<p>echo `python -V`;</p>
<p>
아무것도 뜨지 않으면, Python 3.7 버전이 설치되었으니 아래처럼 해보세요.
</p>
<p><?php</p>
<p>echo `python3 -V`;</p>
<p>
정상적으로 Python 버전이 뜨면, 아래처럼 변경하면 됩니다.
</p>
<p><?php</p>
<p>$python = `python3 test.py`;
echo $python;</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
이거 된건지 봐주시면 고맙겠습니다.
//$rt=exec("ls"); //echo $rt; //print_r($output);
echo $output[0]. ""; //Success1 echo $output[1]. ""; //Success2 echo $output[2]. ""; //AAA echo $output[3]. ""; //가나다 echo $output[4]. ""; //가 나 다 ?>
php는 위와 같고
파이썬 파일은 py1.py 인데 다음과 같이 하니
# -*- coding: utf-8 -*- import sys def call(var_1, var_2, var_3): # 무언가를 처리하고.. # print로 값을 return해서 php에서 받을 수 있음 print('Success1', 'good') print('Success2', 'bad')
print('Success3', 'no') print('Success4', '11111111111111111')
print(var_1) print(var_2) print(var_3) call(sys.argv[1], sys.argv[2], sys.argv[3])
그리고 브라우저에서 도메인/test.php 새로고침해보니
Success1 goodSuccess2 badSuccess3 noSuccess4 11111111111111111AAA
위와 같이 나옵니다.
질문1: 이제 되는건가요?
질문2: 이게 php파일에서 python 데이터를 가져오는건가요? 아니면 데이터도 가져오고 python 파일도 실행시키는 건가요?
파이썬 시작해본지가 며칠안되어 그렇습니다 헤헤
댓글을 작성하려면 로그인이 필요합니다.
실행하려면 exec 로 해야하지 않나요?
</p>
<p><?php</p>
<p> $python = `test.py`;</p>
<p> exec("python ".$python);</p>
<p>?></p>
<p>
답변에 대한 댓글 3개
https://blog.naver.com/PostView.naver?blogId=netatom&logNo=221155462666&parentCategoryNo=&categoryNo=23&viewDate=&isShowPopularPosts=true&from=search
- https://www.php.net/manual/en/language.operators.execution.php
- http://docs.php.net/manual/kr/language.operators.execution.php
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인