Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么python会在新打开的文件末尾附加一个模(%)运算符?_Python_File_Append_Modulo - Fatal编程技术网

为什么python会在新打开的文件末尾附加一个模(%)运算符?

为什么python会在新打开的文件末尾附加一个模(%)运算符?,python,file,append,modulo,Python,File,Append,Modulo,我在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') 模运算符消失。给

我在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')

模运算符消失。给出了什么?

这是shell提示符的
%
,添加新行将其放在下一行。它看起来很“奇怪”,因为它与shell提示符位于同一行


一些shell,如
sh
csh
在打印新提示之前不添加新行。从
%
shell提示符看,这好像是
csh
(c-shell)

我无法重现这个问题。哇,我没有意识到这一点。不过我使用的是ZSH,我确实得到了一个新提示的换行符。我想可能与我的zsh设置有冲突?谢谢大家!@Psycheas:Unix假定文件文本文件以
\n
-当您
cat hello.py
时,cat只打印文件中的换行符。这将导致在输出的最后一行(假定为空)追加提示。啊,这是有意义的。非常感谢。