我正在尝试编写一个程序,我可以在其中上传一个包含名字和姓氏的文件,并创建一个新文件,其中每个名字的第一个字母后跟姓氏。
我创建的文件是一个文本文件,行如下:
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
为什么会这样?为什么不只显示纯文本?如果我无法做到这一点,我怎么能解决这个问题,因为我在文件中运行循环。
答案 0 :(得分:1)
您正在以RTF(“Rich Text”)格式编写文件,该格式不是纯文本。那些“奇怪的不需要的字符”正在由你的编辑写在那里。使用像记事本这样的纯文本编辑器来创建文件,或者将其明确地保存为纯文本。