为什么我的python文件没有运行?

时间:2015-08-20 22:02:44

标签: python input output stdout stderr

我正在尝试一步一步地阅读一本书,但我要么一无所获或得到错误。

谁能告诉我发生了什么?

import sys

class RedirectStdoutTo:
    def _init_(self, out_new):
        self.out_new=out_new

    def _enter_(self):
        self.out_old= sys.stdout
        sys.stdout = self.out_new

    def _exit_(self, *args):
        sys.stdout = self.out_old

print('A')
with open('out.log', mode='w', encoding='utf-8') as a_file, RedirectStdoutTo(a_file):
    print('B')
print('C')

当我在Python中运行时,我会写python log.py

它返回错误说:

File "<stdin>", line 1
    python ilog.py
              ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

问题不在于您的脚本,而在于您如何调用它。据我所知,你启动python,然后键入python log.py。这是错误 - 您需要以log.py作为参数启动python,而不是将其输入已经启动的Python交互式会话。

如果从OS X终端启动python(或类似的命令行提示符),那么当您与{{1}在同一目录中时,不要说pythonpython log.py。文件。

log.py命令是不是 Python,而是一个shell命令。它适用于OS X终端的bash提示,而不适用于Python本身。