Tag: io

如何读取Perl中的目录内容?

如何让Perl将给定目录的内容读入数组? 反引号可以做到这一点,但是有没有使用“scandir”或类似术语的方法?

初级Python:读取和写入相同的文件

一个星期前开始Python,我有一些问题要问读写相同的文件。 我已经通过一些在线教程,但我仍然困惑。 我可以理解简单的读写文件。 openFile = open("filepath", "r") readFile = openFile.read() print readFile openFile = open("filepath", "a") appendFile = openFile.write("\nTest 123") openFile.close() 但是,如果我尝试以下,我正在写的文本文件中有一堆未知的文本。 任何人都可以解释为什么我得到这样的错误,为什么我不能使用下面显示的方式相同的openFile对象。 # I get an error when I use the codes below: openFile = open("filepath", "r+") writeFile = openFile.write("Test abc") readFile = openFile.read() print readFile openFile.close() 我会尽力澄清我的问题。 在上面的例子中, openFile是用来打开文件的对象。 如果我想第一次写信,我没有问题。 如果我想使用相同的openFile来读取文件或附加一些东西给它。 它不会发生或者给出错误。 我必须声明相同/不同的打开文件对象,然后才能对同一个文件执行另一个读/写操作。 […]

将整个文本文件读入C中的char数组中

我想将文本文件的内容读入C中的char数组中。必须保留新行。 我如何做到这一点? 我在网上find了一些C ++解决scheme,但是没有C ++解决scheme。 编辑:我现在有以下代码: void *loadfile(char *file, int *size) { FILE *fp; long lSize; char *buffer; fp = fopen ( file , "rb" ); if( !fp ) perror(file),exit(1); fseek( fp , 0L , SEEK_END); lSize = ftell( fp ); rewind( fp ); /* allocate memory for entire content */ buffer = calloc( 1, […]

一个Haskelltypes的函数:IO String-> String

我在Haskell中编写了一堆代码来创build一个文本索引。 顶层函数如下所示: index :: String -> [(String, [Integer])] index a = […] 现在我想给这个函数从文件中读取一个string: index readFile "input.txt" 这将不起作用,因为readFile的types是FilePath – > IO String。 无法匹配预期types“string”对推断types“IOstring” 我看到错误,但我找不到任何types的函数: IO String -> String 我想成功的关键在于某些Monad下的某个地方,但是我找不到解决问题的办法。

使用FileSystemWatcher来监视一个目录

我正在使用Windows窗体应用程序来监视一个目录,并将其中放入的文件移动到另一个目录。 目前它会将文件复制到另一个目录,但是当添加另一个文件时,它只会以没有错误信息结束。 有时它会在第三个文件结束之前复制两个文件。 这是因为我使用Windows窗体应用程序而不是控制台应用程序? 有没有办法阻止程序结束并继续观看目录? private void watch() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.*"; watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { //Copies file to another directory. }

懒惰I / O有什么不好?

我通常听说生产代码应该避免使用惰性I / O。 我的问题是,为什么? 使用Lazy I / O之外的东西可以玩吗? 什么使替代scheme(例如统计员)更好?

将文本行写入R中的文件

在R脚本语言中,我如何写文本行,例如以下两行 Hello World 到一个名为“output.txt”的文件?

Python在64位窗口上的32位内存限制

我收到一个记忆问题,我似乎无法理解。 我在一个Windows 8 64位的机器,8GB的内存和运行一个32位的Python程序。 程序读取5,118个压缩的numpy文件(npz)。 Windows报告这些文件在磁盘上占用1.98 GB 每个npz文件包含两段数据:“arr_0”的types为np.float32,“arr_1”的types为np.uint8 python脚本读取每个文件将其数据附加到两个列表中,然后closures该文件。 围绕文件4284/5118,程序抛出一个MemoryException 不过,任务pipe理器说错误发生时python.exe * 32的内存使用量是1,854,848K〜1.8GB。 远远低于我的8 GB限制,或32位程序的4GB限制。 在程序中,我捕捉到内存错误,并报告:每个列表的长度为4285.第一个列表包含共计1,928,588,480个float32的〜= 229.9 MB的数据。 第二个列表包含12342962672 uint8的〜= 1471.3MB的数据。 所以,一切似乎都在检查。 除了我得到内存错误的部分。 我绝对有更多的内存,它崩溃的文件是〜800KB,所以它没有阅读一个巨大的文件失败。 此外,该文件没有损坏。 如果我事先没有用完所有的内存,我可以读得很好。 为了让事情更加令人困惑,所有这些似乎在我的Linux机器上运行良好(尽pipe它的内存是16GB,而我的Windows机器是8GB),但是,似乎并不是机器的RAM造成这个问题。 为什么Python抛出一个内存错误,当我期望它应该能够分配另外2GB的数据?

等到文件完全写入

当在一个目录中创build一个文件( FileSystemWatcher_Created )时,我将它复制到另一个目录中。 但是,当我创build一个大(> 10MB)的文件无法复制文件,因为它已经开始复制,当文件尚未完成创build… 这会导致无法复制该文件,因为它被另一个进程使用来引发。 ( 任何帮助? class Program { static void Main(string[] args) { string path = @"D:\levan\FolderListenerTest\ListenedFolder"; FileSystemWatcher listener; listener = new FileSystemWatcher(path); listener.Created += new FileSystemEventHandler(listener_Created); listener.EnableRaisingEvents = true; while (Console.ReadLine() != "exit") ; } public static void listener_Created(object sender, FileSystemEventArgs e) { Console.WriteLine ( "File Created:\n" + "ChangeType: " + […]

在阅读文本文件的同时检查不可打印字符的行

我的程序必须读取文本文件 – 逐行。 UTF-8文件。 我不确定文件是否正确 – 可以包含不可打印的字符。 是否可以检查它没有去字节级? 谢谢。