#!/usr/bin/python
import os
import shutil
import commands
import time
import copy
name = 'test'
echo name
上記のような単純なPythonスクリプトがあります。それを実行しようとすると、name変数を出力しようとすると構文エラーが発生します。
PythonスクリプトでUNIXコマンドをPythonコードであるかのように使用することはできません。これは、Pythonに組み込まれているステートメントまたは関数ではないecho name
ため、構文エラーが発生します。echo
代わりに、を使用してprint name
ください。
UNIXコマンドを実行するには、コマンドを実行するサブプロセスを作成する必要があります。これを行う最も簡単な方法はを使用することですos.system()
が、subprocess
モジュールを使用することをお勧めします。
サブプロセスモジュールを使用することもできます。
import subprocess
proc = subprocess.Popen(['echo', name],
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
(out, err) = proc.communicate()
print out