我需要创建一个空文件。所以我用了这个:
echo "" > file
然后,当我像这样在程序中执行检查(如果文件为空)时,
if(file.content == '')
do something
if 块永远不会执行。
当我使用 打开文件时nano file
,文件中没有任何内容。我什至尝试这样做print(file.content)
,输出仍然是空的。
是什么导致了这个错误?我能做些什么来解决这个问题?
答案1
echo ""
输出一个换行符,因此您的文件不是空的,它包含一个换行符。ls -l
会告诉你它的大小是一字节。
要创建空文件,请使用不带输出的命令:
: > file
答案2
~ > echo "" > t bill at LAPTOP-0GVE7LSM
~ > cat t bill at LAPTOP-0GVE7LSM
~ > vim tt bill at LAPTOP-0GVE7LSM
~ > cat tt bill at LAPTOP-0GVE7LSM
~ > bill at LAPTOP-0GVE7LSM
如下图,cat获取到了文件中的内容。
在文件 tt 中,我实际上什么也没输入,它输出什么也没有。
然而,在文件 t 中,您添加了一个新行,即“\n”。