在python中打开文件的麻烦

时间:2013-08-04 06:39:40

标签: file-upload python-3.x

我正在尝试编写一个程序,我可以在其中上传一个包含名字和姓氏的文件,并创建一个新文件,其中每个名字的第一个字母后跟姓氏。

我创建的文件是一个文本文件,行如下:

firstname1 lastname1 (for example, john smith)
firstname2 lastname2 (for example jane jones)
firstname 3 lastname3 (for example jane doe)
etc...

我想创建一个如下所示的文件:

jsmith
jjones
jdoe

我得到的问题是,当我在python中打开文件时,它会在获取文件的实际文本之前给出所有这些奇怪的不需要的字符。我用来学习的书并没有说明这一点,这就是我在这里发帖的原因。

例如,当我上传文件并运行以下命令时:

newfile=open("example.file.rtf","r")
for i in newfile:
  print(i)

我明白了:

{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540

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

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

\margl1440\margr1440\vieww9000\viewh8400\viewkind0

    \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural


\f0\fs24 \cf0 name 1\

name 2\

name 3 \

name 4 \

我在文本文件中写的实际文本就是这样:

name 1
name 2
name 3
name 4

为什么会这样?为什么不只显示纯文本?如果我无法做到这一点,我怎么能解决这个问题,因为我在文件中运行循环。

1 个答案:

答案 0 :(得分:1)

您正在以RTF(“Rich Text”)格式编写文件,该格式不是纯文本。那些“奇怪的不需要的字符”正在由你的编辑写在那里。使用像记事本这样的纯文本编辑器来创建文件,或者将其明确地保存为纯文本。