Articles of 文件

读取和写入一个大文件,而不是一个小块的磁盘一次的缺点?

我主要在基于Windows和Windows CE的系统上工作,其中CreateFile , ReadFile和WriteFile是工作马,无论是在本地Win32域还是在托pipe的.Net域中。 到目前为止,我一直没有任何明显的问题写或读大块文件,而不是循环,直到处理几个较小的块。 我通常将IO工作委托给后台线程,在完成时通知我。 但是看看文件IO教程或“教科书示例”,我经常会发现“小块循环”,而没有解释为什么它被使用,而不是更明显(我敢说!)“一次完成”。 我有什么缺点,我没有明白? 澄清: 通过大文件,我比较了我的单块与多个块。 我提到的多个块的例子通常在Windows CE上有1024个字节的大小,在桌面上有10个大小。 我的大文件通常是二进制文件,如手机等相机的照片,大小顺序为2-10 MB。 换句话说,不接近1 GB。

Linux上的C ++ makefile具有多个* .cpp文件

我正在尝试使用多个文件makefile。 有人能帮我吗? 我有的文件是file1.cpp,file2.h和main.cpp file1.cpp包含我的function。 file2.h包含我的函数的声明。 main.cpp [在代码中包含file2.h] file1.cpp [在代码中包含file2.h] 我做了 all: main gcc -g -Wall -o main main.cpp 但是当我尝试编译时,却给了我大量的错误。 我的代码在日食上工作得很好。

只解压缩特定的扩展名

我有一个zip文件夹包含.jpg,.png,.gif图像的目录。 我想解压每个档案,只把图像放在一个文件夹中,档案的名称。 所以: files/archive1.zip files/archive2.zip files/archive3.zip files/archive4.zip 打开archive1.zip – 以sunflower.jpg,rose_sun.gif。 制作文件夹files / archive1 /并将图像添加到该文件夹​​,以便files / archive1 / folder1.jpg,files / archive1 / rose_sun.gif。 对每个存档执行此操作。 我真的不知道如何做到这一点,所有的build议都是值得欢迎的。 我有超过600个档案,一个自动解决scheme将是一个救生员,最好是一个Linux解决scheme。

Python在打开文件后如何读取文件

我在理解Python被open后如何删除文件的概念方面遇到困难。 这里是代码: >>> import os >>> os.system('cat foo.txt') Hello world! 0 >>> f <_io.TextIOWrapper name='foo.txt' mode='r' encoding='UTF-8'> >>> os.system('rm -f foo.txt') 0 >>> os.system('cat foo.txt') cat: foo.txt: No such file or directory 256 >>> f.read() 'Hello world!\n' >>> 文本和二进制模式给出相同的结果。 我也尝试过大于1Gb的大文件,并在删除后也读取。 即使是非常大的文件, open操作也几乎是瞬间发生。 如果打开的文件不存在,Python从哪里获取数据? 我跑了这个testing python 3.4.3 / 3.5.2 ubuntu 14.04 / 16.04

如何使用schell脚本从文件读取元素,做一些计算和回写?

我只是脚本语言的新手。 现在我有一个文件,里面是: > A1 B1 C1 > A2 B2 C2 > A3 B3 C3 我只想使用shell脚本(bash)按元素读取文件元素。 然后,我想对元素A1,A2和A3进行一些计算,然后将它们写回新文件(或旧文件)。 所以新文件会是(假devise算结果是D1,D2和D3): D1 B1 C1 D2 B2 C2 D3 B3 C3 计算是通过命令“date -d @(A's value)”将Unix历元时间(A的值)转换为人类可读的时间(D的值)。 我尝试使用awk命令: awk '{$1=`date -d @$1`}' test.txt 但它似乎有一些语法错误:>错误是: awk: {$1=`date -d @$3`} awk: ^ invalid char '`' in expression

使用PHP写入目录:这是一个权限问题?

我的PHP脚本写入一个文件,以便它可以创build一个JPG图像。 fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']); fclose($handle); print $newfile.'.jpg'; 我已经把这个脚本放在一个新的服务器上,但是图像永远不会被保存。 它保存的文件夹的权限是755,但它不拥有它。 最后一次,我想我通过更改目录所有者到Apache来解决这个问题,因为这是PHP运行的。 我不能再做同样的事,因为我不是根。 首先,是否有另一个修复? 其次,如果我可以像上次一样更改目录的所有者,是否可以解决问题? 感谢所有的帮助

快速的方法来查找Linux上的一个目录中的文件数量

我正在寻找一种快速的方法来查找Linux上目录中的文件数量。 任何需要线性时间的解决scheme都是不可接受的(比如“ls | wc -l”和类似的东西),因为它需要很长的时间(有数十甚至数亿目录中的文件)。 我确定目录中的文件数量必须作为用于存储目录条目的数据结构的一部分以文件系统结构(inode或许?)的某个简单数字的forms存储 – 我怎样才能达到这个数字? 编辑:文件系统是ext3。 如果没有可移植的方式,我愿意为ext3做一些特定的事情。

为什么dd与“直接”(O_DIRECT)标志显着更快?

我有一个带有24个驱动器(两组12个)的RAID50configuration的服务器,如果我运行: dd if=/dev/zero of=ddfile2 bs=1M count=1953 oflag=direct 我得到: 2047868928 bytes (2.0 GB) copied, 0.805075 s, 2.5 GB/s 但是,如果我运行: dd if=/dev/zero of=ddfile2 bs=1M count=1953 我得到: 2047868928 bytes (2.0 GB) copied, 2.53489 s, 808 MB/s 我知道O_DIRECT导致页面caching被绕过。 但据我所知,绕过页面caching基本上意味着避免一个memcpy。 使用带宽工具在我的桌面上进行testing我有一个最坏的情况,连续内存写入带宽为14GB / s,我想象在更新的更昂贵的服务器上,带宽必须更好。 那么为什么一个额外的memcpy导致> 2倍的放缓呢? 使用页面caching的时候真的有更多的参与吗? 这是非典型的吗?

如何使用文件协议访问本地系统上的目录?

像/usr/local ? 我试过file:///usr/local但是失败了 [root@www2 robot]# cd file:///usr/local -bash: cd: file:///usr/local: No such file or directory

linux命令“file”显示“for GNU / Linux 2.6.24”

我总是使用file命令来检查文件types,主要是在我编译一个新的项目,以确保一切正常。 输出结果如下所示: proj_out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=0x23d9f966854e09d721c6110d505247483dae02fe, stripped 我的问题是,因为我的Linux内核已经更新到3.0+,为什么它仍然显示它是为旧版本的Linux编译? for GNU/Linux 2.6.24 这是什么与file命令有关,还是我必须做任何事情来编译我的项目对较新的Linux内核? 谢谢