0

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

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

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

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

4

1 回答 1

1

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

于 2013-08-04T06:41:46.093 回答