Python 即使在写入文件后,文件末尾也没有换行符
我有上面的代码,它清楚地在我正在编辑的文件中写了一个换行符。当我尝试使用该文件时,另一个脚本不会执行该行,因为文件末尾没有换行符。如果我复制文件,然后在vi中打开它,然后保存它,vi会添加一个换行符,文件的行会正确执行。如果我在未保存在vi中的文件和保存在vi中的文件之间运行diff,我会得到一条消息,即在文件末尾没有换行符。我正在Ubuntu服务器Xenial上使用Python 2.7.12 试试看:Python 即使在写入文件后,文件末尾也没有换行符,python,Python,我有上面的代码,它清楚地在我正在编辑的文件中写了一个换行符。当我尝试使用该文件时,另一个脚本不会执行该行,因为文件末尾没有换行符。如果我复制文件,然后在vi中打开它,然后保存它,vi会添加一个换行符,文件的行会正确执行。如果我在未保存在vi中的文件和保存在vi中的文件之间运行diff,我会得到一条消息,即在文件末尾没有换行符。我正在Ubuntu服务器Xenial上使用Python 2.7.12 试试看: # Create strings for preparation of file writi
# Create strings for preparation of file writing
s = ";"
seq = (risd41Email, risd41Pass, rimsd41Email, rimsd41Pass);
textString = s.join(seq);
# Create file, write contents, move to usertxtfiles dir
with open(filename, "w") as text_file:
text_file.write(str(textString))
text_file.write('\n')
os.rename(fileMigPath, fileDestPath)
这应该管用
hextump-Cv fileDestPath
的输出是什么。。。。00000000 6d 69 6b 65 2e 6d 61 63 40 6f 6c 64 64 6f 6d 61 |迈克。mac@olddoma|000000 1069 6e 2e 6f 72 67 3b 6e 6f 74 61 70 61 73 77|in.org;notapassw|000000206f72643b6d696b652e6d6163406e6577 | ord;迈克。mac@new|000000 30 64 6f 6d 61 69 6e 2e 6f 72 67 3b 6e 6f 74 61 6e | domain.org;没有| 000000 40 65 77 70 61 73 73 0a | ewpass。| 000000 47正如您所看到的,换行符在那里(末尾的0a
)。由于我从未理解的原因,vi
在编辑文件时不显示最后一行换行符。这可能有用。
text_file.write('\n\n')