Python 为什么是;“文件结束”;(EOF)此处文件的实际交付清单?

Python 为什么是;“文件结束”;(EOF)此处文件的实际交付清单?,python,ruby,file,shell,heredoc,Python,Ruby,File,Shell,Heredoc,“文件结束”一词是从哪里产生的,用于此处的文档 something <<EOF something else 1 something else 2 ... EOF something,因为EOF代表“文件结尾”,传统上被用作在程序中读取文件时返回的标记或异常的名称,以指示已到达文件结尾。这是一个非常古老的用法 因此,当在这里编写文档时,您需要一个标记来标记文档的结尾(这应该是不可能意外发生的事情),“EOF”会自然而然地出现在您的脑海中,如果您习惯于使用该短语来指代文件结尾标记。因

“文件结束”一词是从哪里产生的,用于此处的文档

something <<EOF
something else 1
something else 2
...
EOF
something,因为EOF代表“文件结尾”,传统上被用作在程序中读取文件时返回的标记或异常的名称,以指示已到达文件结尾。这是一个非常古老的用法

因此,当在这里编写文档时,您需要一个标记来标记文档的结尾(这应该是不可能意外发生的事情),“EOF”会自然而然地出现在您的脑海中,如果您习惯于使用该短语来指代文件结尾标记。因为它被频繁使用,所以它甚至被那些还不习惯用这种方式思考EOF的人所接受,因为他们在学习如何使用这里的文档时,在示例中看到了它的使用。因为EOF代表“文件结尾”,传统上被用作在程序中读取文件时返回的标记或异常的名称,以指示已到达文件结尾。这是一个非常古老的用法


因此,当在这里编写文档时,您需要一个标记来标记文档的结尾(这应该是不可能意外发生的事情),“EOF”会自然而然地出现在您的脑海中,如果您习惯于使用该短语来指代文件结尾标记。因为它被频繁使用,所以它甚至被那些还不习惯用这种方式思考EOF的人所接受,因为他们在学习如何使用这里的文档时,在示例中看到了它的使用。因此,这种用法得到了传播。

它来自于Unix的传统,即在这个上下文中,“文件”并不意味着“磁盘文件”,也不一定意味着任何相关的元数据——它意味着更接近现在被称为“流”的东西。最多,“文件”是“由文件描述符访问的内容”。换句话说,您正在生成的进程的STDIN是一个文件,而herdoc的EOF标志着它的结束。

它来自Unix传统,其中在这个上下文中,“文件”并不意味着“磁盘文件”,也不一定意味着任何相关的元数据——它意味着更接近现在被称为“流”的东西。最多,“文件”是“由文件描述符访问的内容”。换句话说,您正在生成的进程的STDIN是一个文件,而herdoc的EOF标志着它的结束。

这只是一个约定。在shell脚本中,您几乎可以使用任何东西,例如

cat <<stackoverflow
something else 1
something else 2
...
stackoverflow

cat这只是一个惯例。在shell脚本中,您几乎可以使用任何东西,例如

cat <<stackoverflow
something else 1
something else 2
...
stackoverflow

cat因为
EOF
是一个“实际的东西”,人们已经习惯了它…?您使用了
python
作为标记之一。这里的文档在
python
中不需要分隔符,因为使用了三重引号,您的意思是
perl
?EOF是一个非常好和直观的标记。你凭什么认为不是?你会提出什么建议呢?因为
EOF
是一个“实际的东西”,人们已经习惯了它…?你使用
python
作为你的标记之一。这里的文档在
python
中不需要分隔符,因为使用了三重引号,您的意思是
perl
?EOF是一个非常好和直观的标记。你凭什么认为不是?你有什么建议?