问题标签 [filehandle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何确保 filehandle.write() 不会因 str/bytes 转换问题而失败?
我需要检测文件句柄是使用二进制模式还是文本模式 - 这是为了能够编码/解码 str/bytes 所必需的。我怎样才能做到这一点?
使用二进制模式myfile.write(bytes)
时有效,而在文本模式下myfile.write(str)
有效。
这个想法是我需要知道这一点,以便能够在调用 myfile.write() 之前对参数进行编码/解码,否则它可能会因异常而失败。
perl - 如何将文件句柄传递给 Perl Expect 的 log_file 函数?
问这个我觉得很愚蠢,但我已经尝试了几件事,但我不知道该去哪里。
来自Expect.pm 文档:
$object->log_file("filename" | $filehandle | \&coderef | undef)
将会话记录到文件。发送到生成的进程或从生成的进程接收的所有字符都写入文件。
我想将 $filehandle 传递给 log_file。但是,当我尝试这样做时:
我在运行脚本的目录中得到一个名为“LOG”的文件。经过一番调查,我尝试了这个:
现在,我得到一个*main::LOG
在目录中命名的文件。我也有另一个文件,命名为我在-l
选项中指定的任何内容,但它只包含我发送到的行print LOG
。
我不确定文件处理功能是否在函数中进行了处理,或者我是否做错了什么。
c - 附加到全局文件句柄,不好吗?
假设我的程序中有多个函数需要将数据附加到某个文件。我在程序的开头使用全局文件句柄打开文件,这样我就可以在需要的任何地方附加它。(请注意,我知道我可以将文件句柄作为参数传递给函数,但这不是这个问题的目的)。在程序开始时打开文件句柄,然后在结束时关闭它是不是很糟糕;还是有一个函数说void AppendFile(char *data_to_append);
然后打开文件并附加到它并在同一个函数中关闭它更好?如果程序死了,FD 仍然在使用是我看到的唯一不好的事情,但同时如果你使用这个功能,你会打开和关闭同一个文件数百次。
perl - 如何在 Perl 中将多个日志文件视为一个虚拟文件?
我在日志目录中有多个访问日志,遵循以下命名约定:
基本上,Apache 每天都会“轮换”这些日志,因此它们可以按顺序排序。
我正在尝试“一个接一个地阅读它们”,以便将它们视为一个日志文件。
上面的代码将覆盖所有日志,但我不确定:
- 日志将按字母顺序组织?
- 如果我想检查“来自唯一 IP 的最新访问时间”,我该怎么做?
我有一个 Perl 脚本,它可以读取单个访问日志并轻松检查(我的算法是有一个大哈希,它使用 IP 地址作为键和访问时间作为值,并不断将键/值对推送给它...)。但我不想仅仅为了这个过程将所有访问文件合并到一个临时文件中。
有什么建议么?提前谢谢了。
perl - 如何测试是否可以写入文件句柄?
我有一些像这样调用的子例程myWrite($fileName, \@data)
。 myWrite()
打开文件并以某种方式写出数据。我想修改myWrite
,以便我可以像上面那样调用它或使用文件句柄作为第一个参数。(此修改的主要原因是将文件的打开委托给调用脚本而不是模块。如果有更好的解决方案来告诉 IO 子例程在哪里写,我会很高兴听到它。 )
为此,我必须测试第一个输入变量是否是文件句柄。我通过阅读这个问题想出了如何做到这一点。
现在这是我的问题:我还想测试我是否可以写入这个文件句柄。我不知道该怎么做。
这是我想要做的:
我只需要知道我是否可以写入文件句柄,尽管很高兴看到一些通用解决方案告诉你文件句柄是用“>>”还是“<”打开的,或者不是打开等
(请注意,这个问题是相关的,但似乎没有回答我的问题。)
iphone - 在 iOS 上创建一定大小的文件并填充无数据
我正在开发一个iphone应用程序,我需要在文件系统上创建一个特定大小的文件并首先填充NO数据,然后在从其他地方获取数据时寻找偏移量并写入数据
我该怎么做?
perl - 如何告诉 Perl 函数从特殊的 ARGV 句柄中读取文件?
在perldoc perlvar
中,我读到:
注意,目前“ARGV”只在“<>”操作符内有它的神奇效果;在其他地方,它只是一个普通文件句柄,对应于“<>”打开的最后一个文件。特别是,将“*ARGV”作为参数传递给需要文件句柄的函数可能不会导致您的函数自动读取@ARGV 中所有文件的内容。
那么,如何将(*ARGV
或类似的东西)作为参数传递给需要文件句柄的函数,并让该函数读取所有文件@ARGV
?
perl - 将文件读入 Perl 中的变量
这段代码是在 Perl 中将文件内容读入变量的好方法吗?它有效,但我很好奇是否应该使用更好的做法。
perl - 如果打开文件句柄进行读取或写入,如何检查 Perl?
可能重复:
如何测试是否可以写入文件句柄?
现在我发现如果给定的标量变量包含一个文件句柄,如何检查 Perl,是否可以检查文件句柄是为读取而打开的,还是为写入而打开的?如果是,那么如何检查呢?
据我了解, -r 和 -w运算符仅适用于打开到真实文件的文件句柄,而不适用于管道、内存中的文件(打开到标量)等。
regex - Perl - 从特定行开始读取,并且只获取该行的第一列,直到结束
我有一个如下所示的文本文件:
有 5 行始终相同,第 6 行是我要开始读取数据的位置。读取数据时,每行(从第 6 行开始)由分号分隔。我只需要获取每行的第一个条目(从第 6 行开始)。
例如:
所需的输出将是:
这可能吗?如果可以,我从哪里开始?