2
#!/usr/bin/python

import os
import shutil
import commands
import time
import copy

name = 'test'

echo name 

上記のような単純なPythonスクリプトがあります。それを実行しようとすると、name変数を出力しようとすると構文エラーが発生します。

4

2 に答える 2

11

PythonスクリプトでUNIXコマンドをPythonコードであるかのように使用することはできません。これは、Pythonに組み込まれているステートメントまたは関数ではないecho nameため、構文エラーが発生します。echo代わりに、を使用してprint nameください。

UNIXコマンドを実行するには、コマンドを実行するサブプロセスを作成する必要があります。これを行う最も簡単な方法はを使用することですos.system()が、subprocessモジュールを使用することをお勧めします。

于 2012-06-05T21:49:28.700 に答える
10

サブプロセスモジュールを使用することもできます。

import subprocess
proc = subprocess.Popen(['echo', name],
                            stdin = subprocess.PIPE,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE
                        )

(out, err) = proc.communicate()
print out

読む: http: //www.doughellmann.com/PyMOTW/subprocess/

于 2012-06-05T21:47:56.137 に答える