【问题标题】:Difference between '>>' and '>' in PerlPerl 中 '>>' 和 '>' 的区别
【发布时间】:2011-03-01 13:34:20
【问题描述】:

这两个代码sn-ps有什么区别?

  1. open (MYFILE, '>>data.txt');

  2. open (MYFILE, '>data.txt');

【问题讨论】:

  • 另请注意,通常建议使用 3 参数形式的 open 以及使用词法文件句柄。换句话说,为您的文件句柄使用标量变量,而不是像MYFILE 这样的变量。例如:open(my $file_handle, '>', 'output.txt') or die $!.
  • 这真的不是“在 Perl 中”。 Perl 只是延续了 *NIX 惯用语。
  • 这是作业吗?您只需阅读文档即可找到答案。

标签: perl file-handling


【解决方案1】:
  1. open (MYFILE, '>>data.txt') — 打开data.txt,保留原始数据,从末尾追加数据。
  2. open (MYFILE, '>data.txt') — 打开data.txt,删除里面的所有内容,从头开始写入数据。

来自perldoc -f open:

如果 MODE 为 '<' 或没有,则打开文件以供输入。如果 MODE 为 '>',则文件将被截断并打开以进行输出,并在必要时创建。如果 MODE 为 '>>',则打开文件以进行追加,如有必要,将再次创建。

这源于shell的使用,

  • cmd < file.txt 复制文件到标准输入,
  • cmd > file.txt 将标准输出写入文件,并且
  • cmd >> file.txt 将标准输出附加到文件末尾。

【讨论】:

  • @mirod: open(MYFILE, '>data.txt') 等价于open(MYFILE, '>', 'data.txt')。请阅读链接。
猜你喜欢
  • 2019-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多