有一个任务,编写一个将文件作为一个JPEG文件的程序.但问题是一些jpeg文件有大尺寸 - 数百兆字节.所以问题是:是否可以裁剪jpeg文件,但不使用像fseek()这样的东西将所有文件加载到RAM中,只解码所需的部分.
那可能吗?如果是的话,也许有些图书馆会这样做.
UPD.所有这些都将用于深度变焦技术.因此,当深度缩放将要求文件时,该程序将提供它,但这应该是实时的
所以我的文本文件包含正确格式的数据,它应该在R中的列表中,但它是14 Mb,显然2Mb是一个限制?我需要将此文本文件作为列表加载到R中.
这里有另一篇文章,但该命令(见下文)只是出错了
inlist <- strsplit(readLines("myList.txt"), "[[:space:]]+")
Run Code Online (Sandbox Code Playgroud)
谢谢我的意思是它的样子,因为它在这里是如何开始的
structure(list(inputsTrain = structure(c(-73, -69, -48, 13, -86, -147, -65, -71, -32, 100, -73, -196, -102, 37, 14, 55, ........
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Windows应用程序,我需要通过电子邮件发送一些文件作为附件.
public string SendMail(string mFrom,
string mPass,
string mTo,
string mSub,
string mMsg,
string mFile,
bool isDel)
{
string sql = "";
try
{
System.Net.Mail.MailAddress mailfrom = new System.Net.Mail.MailAddress(mFrom);
System.Net.Mail.MailAddress mailto = new System.Net.Mail.MailAddress(mTo);
System.Net.Mail.MailMessage newmsg = new System.Net.Mail.MailMessage(mailfrom, mailto);
newmsg.IsBodyHtml = false;
if (mFile.Length > 2
&& File.Exists(mFile))
{
System.Net.Mail.Attachment att = new System.Net.Mail.Attachment(mFile);
newmsg.Attachments.Add(att);
}
newmsg.Subject = mSub;
newmsg.Body = mMsg;
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(mFrom, mPass);
smtp.EnableSsl = …
Run Code Online (Sandbox Code Playgroud) 我们需要构建一个大小约为1MB的大型文本文件.我们尝试使用Echo的shell脚本使用do循环创建文件.建立需要很长时间.
我想在unix/Linux中构建一个文件1行/记录.它可能是一个大小为1MB的大字符串.
内容可能如下所示,但整个兆字节:
XXXXXXXXX............................................XXXX
Run Code Online (Sandbox Code Playgroud)
如果我逐个字符地构建,则需要更长的时间.
我想将此扩展到10MB,20MB ......后来的60MB.
shell脚本是最好的选择,还是有更快的选择?
我想在TStringGrid中放一个大字符串,其中每个单元格包含来自字符串的4个字符,StringGrid有16列
nc:=1; nr:=1; //nc = number of column . nr = number of raw
while fs.Length>0 do // fs is a large string
begin
if nc>16 then nr:=nr+1; nc:=1;
stringgrid.Cells[nc,nr]:=copy(fs,1,4);
delete(fs,1,4);
nc:=nc+1;
PeekMessage(M, Handle, 0, 0, PM_NOREMOVE); // it prevents "not responding"
end;
Run Code Online (Sandbox Code Playgroud)
我如何让它更快:=)
我有以下情况:一个包含大文件的目录树(大约 5000 个文件,大小约为 4Gb)。我需要在这棵树中找到重复项。
我尝试使用 Java 内置的 CRC32 和 Adler32 类,但它非常慢(每个文件大约 3-4 分钟)。
代码是这样的:
1) Init map <path, checksum>
2) Create CheckSum instance (CRC32 or Adler32);
3) Read file per block (10-100 bytes);
4) In each iteration call update()
5) Result checksum passed in map <path, summ>
6) Find duplicates
Run Code Online (Sandbox Code Playgroud)
问题:有什么方法可以加快第 3-4 行校验和的收集速度吗?
我正在尝试使用我在Perl中创建的非常大的txt文件(超过一百万行)并通过Perl中的不同语句运行它,它基本上看起来像这样(注意以下是shell)
a=0
b=1
while read line;
do
echo -n "" > "Write file"${b}
a=($a + 1)
while ( $a <= 5000)
do
echo $line >> "Write file"${b}
a=($a + 1)
done
a=0
b=($b + 1)
done < "read file"
Run Code Online (Sandbox Code Playgroud)
尝试将其大小调整为每个文件5k行,并每次递增(filename1.txt,filename2.txt,filename3.txt等)
这似乎不适用于shell,可能是由于输入文件的大小,而对于我的生活,我想不出如何在循环中间改变我写的文件.
如果使用gcc lfs.c -o lfs编译以下代码,则不会输出任何内容.但是,如果使用g ++ lfs.c -o lfs编译它,则会打印"由stdio.h!"定义的"_LARGEFILE_SOURCE".
#ifdef _LARGEFILE_SOURCE
int largefile_defined_at_start = 1;
#else
int largefile_defined_at_start = 0;
#endif
// This defines _LARGEFILE_SOURCE, but only in C++!
#include <stdio.h>
int main(void) {
#ifdef _LARGEFILE_SOURCE
if (!largefile_defined_at_start)
printf("_LARGEFILE_SOURCE defined by stdio.h!");
#endif
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在任何一种情况下,编译器都没有定义_LARGEFILE_SOURCE:
gcc -dM -E - < /dev/null |grep _LARGEFILE_SOURCE |wc -l
0
g++ -dM -E - < /dev/null |grep _LARGEFILE_SOURCE |wc -l
0
Run Code Online (Sandbox Code Playgroud)
为什么stdio.h在通过g ++前端调用GCC时定义_LARGEFILE_SOURCE?
我有tableEntity包含byte[]
属性
[StorageTableName("TestTable")]
public class TestTableEntity : TableEntity
{
public byte[] Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在这个属性中我想把一些文件转换成字节(如果它不正确 - 请建议另一个解决方案).
var table = tableStorage.Table<TestTableEntity>();
await table.CreateIfNotExistsAsync();
var entity = new TestTableEntity
{
Data = data, //byte[]
PartitionKey = partitionKey, //date
RowKey = schemaName// string
};
await table.InsertOrUpdateAsync(entity);
Run Code Online (Sandbox Code Playgroud)
插入的步骤我得到错误
远程服务器返回错误:(413)请求正文太大并超出了允许的最大限制.
因为数组真的很大.
有什么方法可以解决这个问题吗?
我制作了一个 8100000 字节的字典列表,其中包含 900 万多个元素。每个元素都有一个包含 32 对值和键的字典,尽管在每个元素中使用相同的键集。
我想保存它以备将来分析。我已经尝试过 dill.dump,但是我不得不中断内核花了很长时间(超过 1 小时)。这应该是快速而简单的,对吧?
这是我尝试过的:
import dill
output_file=open('result_list', 'wb')
dill.dump(result_list, output_file)
output_file.close()
Run Code Online (Sandbox Code Playgroud)
我也试过泡菜和 bzip2
import bz2
import pickle
output_file=bz2.BZ2File('result_list', 'w')
pickle.dump(result_list, output_file)
Run Code Online (Sandbox Code Playgroud)
但是遇到了内存错误。
有关使此操作可行且耗时更少的任何提示?谢谢!
我正在努力比较(比较)2 个大型 CSV 文件。
例如:
文件1
a,b,c,d
e,f,g,h
i,j,k,l
Run Code Online (Sandbox Code Playgroud)
文件2
a,b,c,d
i,j,k,l
e,f,g,h
Run Code Online (Sandbox Code Playgroud)
上面应该通过比较,即使行的顺序不同,内容也是相同的。
如果内容不同、列值不匹配或者某一行存在于另一行中,等等,则比较应该失败。
我遇到的最大问题是文件非常大,并且没有可排序的键列。文件有 14 到 3000 万行,大约 10 到 15 列。未排序的原始数据转储约为 1GB 的 csv 文件。
现在我正在尝试使用下面的代码对文件进行排序和“比较”。问题是“排序”并不总是有效。对于较小的文件和较少的行,排序和比较可以工作,但它似乎不适用于非常大的文件。
此外,排序会显着增加操作时间;理想情况下,我想避免排序,只是比较忽略排序顺序,但我不知道该怎么做。
filecmm、difflib 和我尝试过的其他一些函数都需要预先排序的文件。
我现在正在执行 Python 合并排序,但正如我所说,排序不一定适用于大量行,我希望有更好的比较方法。
这是Python的归并排序函数:
def batch_sort(self, input, output, key=None, buffer_size=32000, tempdirs=None):
if isinstance(tempdirs, str):
tempdirs = tempdirs.split(",")
if tempdirs is None:
tempdirs = []
if not tempdirs:
tempdirs.append(gettempdir())
chunks = []
try:
with open(input,'rb',64*1024) as input_file:
input_iterator = iter(input_file)
for tempdir in cycle(tempdirs):
current_chunk = list(islice(input_iterator,buffer_size)) …
Run Code Online (Sandbox Code Playgroud) 我需要创建一些1GB或更高的随机文件(比如100,000).我尝试了打开文件的正常方式,并使用print/syswrite写入它,但它需要超过30分钟.有人可以告诉我任何其他有效的快速方法,我可以在perl中实现它.
large-files ×12
c# ×2
c++ ×2
perl ×2
python ×2
text ×2
arrays ×1
azure ×1
c ×1
checksum ×1
compare ×1
crop ×1
delphi ×1
dictionary ×1
diff ×1
dill ×1
dump ×1
email ×1
file ×1
gcc ×1
increment ×1
java ×1
jpeg ×1
linux ×1
list ×1
loops ×1
r ×1
random ×1
split ×1
string ×1
tstringgrid ×1
unix ×1
winforms ×1