Python 将文件中的字符串缩减为新文件

Python 将文件中的字符串缩减为新文件,python,Python,我想让python从我已有的文件中创建一个新文件,然后减少第一个文件和新文件中的字母 这就是我到目前为止得到的,没有任何运气: my_file = open("my_full.txt", "r") my_file2 = open("my_partial.txt", "w") for each_line in my_file: my_file2.write(len[0:2]+"\n") my_file.close() my_file2.close() 例如: “这必须减少” “这也是

我想让python从我已有的文件中创建一个新文件,然后减少第一个文件和新文件中的字母

这就是我到目前为止得到的,没有任何运气:

my_file = open("my_full.txt", "r")
my_file2 = open("my_partial.txt", "w")

for each_line in my_file:
    my_file2.write(len[0:2]+"\n")

my_file.close()
my_file2.close()
例如: “这必须减少” “这也是一个” “还有最后一个” 现在,我希望python打开第一个文件,减少第一个文件中的字母,并生成一个新文件,结果是

因此,python生成的新文件应包含以下内容,例如: “Thi” “Thi” “还有”

你几乎拥有了它

for
循环中,需要将
write
调用更改为:

my_file2.write(each_line[:3] + '\n')
您当前的线路存在两个问题:

  • 您使用的是
    len
    ,而不是保存文件当前行的变量,该行是python中用于确定给定项(例如字符串、列表等)长度的函数
  • 您需要第一个
    3
    字符,但使用的是以独占结尾的
    [0:2]
    范围,因此您只能获得第一个
    2
    。必须将其更改为
    [0:3]

  • 当你说reduce时,你的意思是从每行中取前3个字母?是的@PaulRooney,然后将这3个字母放在另一个文件中。非常感谢!这有帮助!哦,我完全忘了0:3的部分,哇!只有非常迂腐的一种情况是,如果行少于3个字符,并且换行符包含在片段中,则添加第二个换行符。这不是一个主要的考虑因素,我相信OP不会在意这个。