艰难学习Python(练习20)在运行时有奇怪的符号

时间:2016-08-19 23:00:37

标签: python

这是代码。

from sys import argv

script, input_file = argv

def print_all(f):
    print f.read()

def rewind(f):
    print f.seek(0)

def print_a_line(line_count, f):
    print line_count, f.readline()

current_file = open(input_file)

print "First, we'll print the whole file.\n"

print_all(current_file)

print "Now let's rewind."

rewind(current_file)

print "Let's print three lines."

current_line = 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line, current_file)

这是通过终端(OS X)运行时的代码。

First, we'll print the whole file.

{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0

\f0\fs24 \cf0 example 1\
example 2\
example 3}
Now let's rewind.
None
Let's print three lines.
1 {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470

2 {\fonttbl\f0\fswiss\fcharset0 Helvetica;}

3 {\colortbl;\red255\green255\blue255;}

这里似乎发生了什么?我甚至复制并粘贴了来自http://learnpythonthehardway.org/book/ex20.html的代码,看看我做错了什么,但它做了同样的事情。

2 个答案:

答案 0 :(得分:2)

您在TextEdit中编辑了文件 - python正在吐出反映文件RTF格式的字节。在从TextEdit保存之前,请选择格式>>制作文本文件

答案 1 :(得分:0)

您使用文字处理程序创建了输入文件。使用文本编辑器(Windows中的记事本,我不知道您在OS X中拥有什么)来创建输入文件。