Tag: io

如何从剪贴板复制和粘贴数据到R中?

标题说明了一切:我的数据在另一个应用程序中打开(例如电子表格,如Excel或文本编辑器)。 如果我将这些数据复制到我的操作系统剪贴板,我怎样才能读取到R作为data.frame?

如何读取文本文件中的指定行?

给定一个文本文件,我将如何去阅读一个任意的行,而不是在文件中的其他东西? 说,我有一个文件test.txt。 我该如何去阅读文件中的第15行? 我看到的所有东西都涉及将整个文本文件存储为一个string数组,然后使用行号的值作为从数组中使用的string的编号…但有一些复杂性:文本文件是巨大的巨大的机器,我正在编写的应用程序不完全是一个顶尖的系统。 速度不是重中之重,但这绝对是一个重大问题。 是否有任何方法只读取文本文件的特定行并将结果存储为string? 感谢您的回应:文件是KINDA结构。 它有25行信息,然后是X行的数字,但第25行的第17行的值是X. 但是,那么有一个空白行,它会重复作为文件中的第二个logging, X可以为每个logging有不同的值。 我想要做的是读取并存储前25行作为独立的值,然后将下一个X (通常约250)行存储为一个数组。 然后,我将把它存储在一个SQL数据库中,并重复NEXTlogging,直到我到达第Y条logging(文件中的logging数在第3行) 编辑2 :好吧,我想我已经得到了一个解决scheme,基于你所有的答案的组合。 我将读取前25行,并将其存储为数组。 我将数组的相关内容复制到局部variables,然后删除前25行。 然后,我可以使用info将下一个X行(数组13中的值)存储为一个数组,将其序列化,然后将其存储在数据库中,然后删除刚刚读取的行。 然后,我可以重复每个后续logging的过程。 当然,这依赖于我所做的一个假设,说实话,我不确定是否属实。 是否有可能从C#中的文本文件中删除前n行,而不必读取整个事情,并重写它没有前n行?

什么是区域标识符?

我经常看到一些名为“blabla.exe:Zone.Identifier”的文件,用Process Monitor监视I / O。 这些文件可以看到networking驱动器。 什么是Zone.Identifier? 文件名中的冒号是什么意思? 冒号与文件的扩展属性有关吗?

Haskell预monadic I / O

我想知道在IO monad还没有发明的时候,如何在Haskell中完成I / O。 有人知道一个例子。 编辑:如果没有现代Haskell中的IO Monad,我能完成吗? 我更喜欢与现代GHC一起工作的例子。

用Ruby读取,编辑和写入文本文件

在Ruby中有没有一种好的方法来读取,编辑和写入文件? 在我的在线search中,我发现了一些东西,build议将它们全部读入数组,然后修改数组,然后写出所有内容。 我觉得应该有一个更好的解决scheme,特别是如果我正在处理一个非常大的文件。 就像是: myfile = File.open("path/to/file.txt", "r+") myfile.each do |line| myfile.replace_puts('blah') if line =~ /myregex/ end myfile.close 其中, replace_puts将写入当前行,而不是像当前那样写(写)下一行,因为指针位于行末(分隔符之后)。 那么每行匹配/myregex/将被replace为'blah'。 显然我脑海中所涉及到的比这个要多一些,就处理而言,可以在一行中完成,但是想法是一样的 – 我想逐行阅读一个文件,然后编辑一些特定的行,当我完成时写出来。 也许有一种方法只是说“倒回到最后一个分隔符后”? 或者使用each_with_index并通过行索引号写入某种方式? 尽pipe如此,我找不到任何这样的东西。 到目前为止,最好的解决scheme是逐行读取事务,将其写入新的(临时)文件行(可能已编辑),然后用新的临时文件覆盖旧文件并删除。 再次,我觉得应该有一个更好的方法 – 我不认为我应该创build一个新的1gig文件只是为了编辑现有的1GB文件中的一些行。

ValueError:closures文件的I / O操作

import csv with open('v.csv', 'w') as csvfile: cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) for w, c in p.iteritems(): cwriter.writerow(w + c) 这里, p是字典, w和c都是string。 当我尝试写入文件时,报告错误: ValueError : I/O operation on closed file. 帮助我,我真的是新的python。 我正在使用Python 2.7.3预先感谢您。

PHP Data-URI到文件

我有一个数据URI,我从JavaScript获得,并尝试通过PHP保存。 我使用下面的代码给出了一个明显损坏的图像文件: $data = $_POST['logoImage']; $uri = substr($data,strpos($data,",")+1); file_put_contents($_POST['logoFilename'], base64_decode($uri)); data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs 9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxklEQVQYlYWQMW7CUBBE33yITYUUmwbOkBtEcgUlTa7COXIVV5RUkXKC5AxU EdyZVD4kyKxkwIrr9vd0c7Oih aopinLNsF6Qkg2XW4XJ7LGFsAAcTV6lF5/jLdbALA9XDAXYfthFQVx OrmqKYK88/7rbbMFksALieTnzu9wDYTj6f70PKsp2kwAiSvjXNcvkWpAfNZkzWa/5a9yT7fdoX7rrB7hYh2fXo9HdjPYQZu3MIU8bYIlW20y0RUlXG2Kpv/vfwLxhTaSQwWqwhAAAAAElFTkSuQmCC 代码下面是实际的图像作为Data-URI。 'logoImage'是上面的string,$ uri是string减去'image / jpeg; base64,'。

加快文件I / O:mmap()与read()

我有一个Linux应用程序,并行读取150-200文件(4-10GB)。 每个文件依次以小的,可变大小的块来读取,通常每个小于2K。 我目前需要保持超过200MB / s的读取速率,这些文件组合在一起。 磁盘处理这很好。 预计需求超过1 GB / s(目前超出磁盘范围)。 我们已经实现了两个不同的读取系统,都使用posix_advise :首先是一个mmap ed读取,我们映射整个数据集和按需阅读。 第二个是基于read() / seek()的系统。 这两个工作正常,但只适用于温和的情况下, read()方法更好地pipe理我们的整体文件caching,可以很好地处理100 GB的文件,但速度有限, mmap可以预caching数据,使持续数据速率超过200MB / s容易维护,但不能处理大的总数据集大小。 所以我的问题来到这些: 答:可以将read()types的文件I / O进一步优化,超出了Linux上的posix_advise调用,或者调整了磁盘调度程序,VMM和posix_advise调用是否如我们所期望的那样好? B:有没有系统的方法让mmap更好地处理非常大的映射数据? Mmap-vs-reading-blocks与我正在工作的是类似的问题,并为此问题提供了一个很好的起点,以及mmap-vs-read中的讨论。

什么是C ++高性能顺序文件I / O最快的方法?

假设以下… 输出: 该文件被打开… 数据“stream”到磁盘。 内存中的数据是在一个大的连续缓冲区。 它直接从缓冲区以原始forms写入磁盘。 缓冲区的大小是可configuration的,但在stream的持续时间内是固定的。 缓冲区被一个接一个地写入文件。 没有进行寻找操作。 …文件已closures。 input: 从头到尾从磁盘读取一个大文件(按上述顺序写入)。 是否有普遍接受的准则,以实现C ++中最快的顺序文件I / O? 一些可能的考虑: select最佳缓冲区大小的指导原则 像boost :: asio这样的可移植的库是否会被抽象出来,以暴露特定平台的复杂性,或者他们可以被认为是最优的? asynchronousI / O总是优于同步? 如果应用程序没有CPU限制,该怎么办? 我意识到这将有平台特定的考虑。 我欢迎一般准则以及特定平台的准则。 (我最感兴趣的是Win x64,但是我也对Solaris和Linux感兴趣)

使用Java ZipOutputStream和BufferedOutputStream的首选方法

在Java中,我是否首先实例化一个ZipOutputStream ,或者首先实例化BufferedOutputStream ? 例: FileOutputStream dest = new FileOutputStream(file); ZipOutputStream zip = new ZipOutputStream(new BufferedOutputStream(dest)); // use zip output stream to write to 要么: FileOutputStream dest = new FileOutputStream(file); BufferedOutputStream out = new BufferedOutputStream(new ZipOutputStream(dest)); // use buffered stream to write to 在我的非科学时间,我似乎无法在这里讲出很大的区别。 在Java API中,我看不到任何东西,如果其中一种方法是必要的或优先的。 有什么build议? 看起来先压缩输出,然后缓冲写入会更有效率。