0

我在 python 的 with 语句中遇到了一些奇怪的行为,我希望有人可以为我澄清发生了什么。

with open('hello.py', 'ab+') as f:
    f.write('hello=3')

基本上我正在尝试创建/打开一个 python 文件,并向它附加一个新的变量声明。但是 cat 的输出给了我这个:

hello=3%

如果我使用上面的代码而不是:

with open('hello.py', 'ab+') as f:
    f.write('hello=3\n')

模运算符消失。是什么赋予了?

4

1 回答 1

2

这是%您的 shell 提示符,添加一个新行会将其放在下一行。它看起来像那样“奇怪”,因为它与你的 shell 提示符在同一行。

一些 shell 喜欢sh并且csh在打印新提示之前不添加新行。从%shell 提示看来,这是csh(c-shell)

于 2013-08-11T23:34:54.697 回答