Python 为什么连字符跳到下一行?

Python 为什么连字符跳到下一行?,python,append,newline,hyphen,Python,Append,Newline,Hyphen,早上好 请帮我解决一个奇怪的问题 输入文件如下所示: # 06/11/2017 11:45:03 2143-1445_001_1 = F 224922.53(15.04107) -144551.26 0.00 1x12.0 # 06/11/2017 11:45:21 2143-0822_001_1 = F 224940.53(15.04107) -082227.26 0.00 1x12.0 # 06/11/2017 11:45:39 2143-0159_001_1 = F 224958.54(1

早上好

请帮我解决一个奇怪的问题

输入文件如下所示:

# 06/11/2017 11:45:03
2143-1445_001_1 = F 224922.53(15.04107) -144551.26 0.00 1x12.0
# 06/11/2017 11:45:21
2143-0822_001_1 = F 224940.53(15.04107) -082227.26 0.00 1x12.0
# 06/11/2017 11:45:39
2143-0159_001_1 = F 224958.54(15.04107) -015903.26 0.00 1x12.0
# 06/11/2017 11:46:01
2114-1341_001_1 = F 231840.63(15.04107) -134149.68 0.00 1x12.0
# 06/11/2017 11:46:19
2114-0718_001_1 = F 231858.63(15.04107) -071825.68 0.00 1x12.0
# 06/11/2017 11:45:03
2143-1445_001_1 = F 224922.53(15.04107) -144551.26 0.00 1x12.0 @114503
-114521
# 06/11/2017 11:45:21
2143-0822_001_1 = F 224940.53(15.04107) -082227.26 0.00 1x12.0 @114521
-114539
# 06/11/2017 11:45:39
2143-0159_001_1 = F 224958.54(15.04107) -015903.26 0.00 1x12.0 @114539
-114601
# 06/11/2017 11:46:01
2114-1341_001_1 = F 231840.63(15.04107) -134149.68 0.00 1x12.0 @114601
-114619
# 06/11/2017 11:46:19
2114-0718_001_1 = F 231858.63(15.04107) -071825.68 0.00 1x12.0 @114619
-114619
以下是我的python代码:

with open('object.list','r') as in_file:
lines = in_file.readlines()
in_file.close()

out_file = open('newobject.list','w')
for i, line in enumerate(lines):
    if i < len(lines)-2:
        if '#' in line:
            time_start = line[-10:].replace(':','')
            time_end = lines[i+2][-10:].replace(':','')
            out_file.write(line.rstrip('\n'))
        else:
            out_file.write(line.rstrip() + ' @' + time_start + '-' + time_end)
    else:
        if '#' in line:
            time_start = time_end = line[-10:].replace(':','')
            out_file.write(line.rstrip('\n'))
        else:
            out_file.write(line.rstrip() + ' @' + time_start + '-' + time_end)
out_file.close()
为什么连字符(包括后面的文本)跳到下一行?我在前一行需要它。我的代码有什么问题


提前谢谢

time\u start
包含切片行中的新行字符,请将其剥离<代码>行[-10:].rstrip()。替换(“:”,“)Yay!非常感谢。对不起,我是Python新手@MosesKoledoye我宁愿
strip()。另外,为什么要在
条带中指定
\n
?只有在使用不同的行尾时才会出现问题。^正准备发布该问题。请在最上面添加
line=line.strip()
,这样您就不必担心以后的剥离业务。次要的一点是,您不需要\u文件中的
。close()
。使用
with
语句(使用上下文管理器)的原因是您不需要显式关闭文件,它在退出“块”时关闭。(您仍应将
关闭
输出文件一起使用
,但没有理由不能将
一起使用)
开始时间
包含切片行中的新行字符,请将其剥离<代码>行[-10:].rstrip()。替换(“:”,“)
Yay!非常感谢。对不起,我是Python新手@MosesKoledoye我宁愿
strip()。另外,为什么要在
条带中指定
\n
?只有在使用不同的行尾时才会出现问题。^正准备发布该问题。请在最上面添加
line=line.strip()
,这样您就不必担心以后的剥离业务。次要的一点是,您不需要\u文件中的
。close()
。使用
with
语句(使用上下文管理器)的原因是您不需要显式关闭文件,它在退出“块”时关闭。(您仍应将
close
out\u file
一起使用,但没有理由不能将
一起使用)