标签: filehandle

在C中解析整数行

这是一个经典问题,但我找不到简单的解决方案.

我有一个输入文件,如:

1 3 9 13 23 25 34 36 38 40 52 54 59 
2 3 9 14 23 26 34 36 39 40 52 55 59 63 67 76 85 86 90 93 99 108 114 
2 4 9 15 23 27 34 36 63 67 76 85 86 90 93 99 108 115 
1 25 34 36 38 41 52 54 59 63 67 76 85 86 90 93 98 107 113 
2 3 9 16 24 …
Run Code Online (Sandbox Code Playgroud)

c parsing filehandle

2
推荐指数
1
解决办法
4229
查看次数

perl中管道文件句柄的问题

我试图bp_genbank2gff3.pl从另一个获取genbank作为其参数的perl脚本运行(bioperl包).

这不起作用(不生成输出文件):

   my $command = "bp_genbank2gff3.pl -y -o /tmp $ARGV[0]";

   open( my $command_out, "-|", $command );
   close $command_out;
Run Code Online (Sandbox Code Playgroud)

但确实如此

   open( my $command_out, "-|", $command );
   sleep 3; # why do I need to sleep?
   close $command_out;
Run Code Online (Sandbox Code Playgroud)

为什么?

我认为close在命令完成之前应该阻止:

关闭任何管道文件句柄会导致父进程等待子进程完成...(请参阅http://perldoc.perl.org/functions/open.html).

编辑

我在最后一行添加了这个:

say "ret=$ret, \$?=$?, \$!=$!";
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,打印输出是:

ret=, $?=13, $!=
Run Code Online (Sandbox Code Playgroud)

(这close两种情况都意味着失败,对吧?)

perl pipe filehandle

2
推荐指数
1
解决办法
2451
查看次数

Lib Gdx json序列化异常并缺少no-arg构造函数

当试图执行这段代码时:

public void load(String filename) { 
   FileHandle file = Gdx.files.external(filename + ".bim");
   Json json = new Json();      
   String text = file.readString();
   datamap.clear(); 
   datamap = json.fromJson(HashMap.class, text);
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

线程"LWJGL Application"中的异常com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.SerializationException:无法创建类(缺少no-arg构造函数):com.bvo.easyBim.Model.Cursor at com .badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:113)引起:com.badlogic.gdx.utils.SerializationException:无法创建类(缺少无参数构造函数):com.bvo.easyBim .Model.Cursor com.badlogic.gdx.utils.Json.newInstance(Json.java:915)at com.badlogic.gdx.utils.Json.readValue(Json.java:793)at com.badlogic.gdx.utils .Json.readValue(Json.java:803)位于com.badlogic.gdx.utils.Json.fromJson(Json.java:644)的com.bvo.easyBim.View.DataProcessor.load(DataProcessor.java:85)at com.bvo.easyBim.View.World.init(World.java:115)com.bvo.easyBim.View.WorldRenderer.buttons(WorldRenderer.java:173)com.bvo.easyBim.View.WorldRenderer.render( WorldRenderer.java:106)位于com.badlogic的com.bvo.easyBim.Screens.AppScreen.render(AppScreen.java:22).gdx.Game.render(Game.java:46)at com.bvo.easyBim.EasyBim.render(EasyBim.java:39)at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:187)在com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)引起:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursor at java.lang.Class.newInstance0(Unknown)来自java.lang.Class.newInstance(未知来源)的com.badlogic.gdx.utils.Json.newInstance(Json.java:901)... 12更多

在将其正确保存在另一段代码中后,我试图将json文件转换回数据图.(一个hashmap),但这似乎不起作用.

我猜他无法读取文本字符串,但实际上我不知道问题是什么.

java serialization filehandle libgdx

2
推荐指数
1
解决办法
2349
查看次数

如何在python中将1个字节写入二进制文件

我已经尝试过在python中只向一个文件写一个字节的所有内容.

i = 10
fh.write( six.int2byte(i) )
Run Code Online (Sandbox Code Playgroud)

将输出'0x00 0x0a'

fh.write( struct.pack('i', i) )
Run Code Online (Sandbox Code Playgroud)

将输出'0x00 0x0a 0x00 0x00'

我不明白为什么这么难做.

python writing filehandle

2
推荐指数
1
解决办法
4749
查看次数

使用哈希值中存储的文件句柄的语法错误

我正在尝试使用单行代码,根据行本身字段的内容,将从输入源读取的行写入不同的文件。

我的方法是使用散列来存储文件句柄,以避免多次打开相同的文件,一旦在读取的新行中找到了以前未出现过的字段的值,就动态向该散列添加键。

但是,使用存储文件句柄的哈希值和常见的print / printf调用,例如

print $hash{ $field_value } "String"
Run Code Online (Sandbox Code Playgroud)

导致编译错误。更换$hash{ $field_value }STDERR,例如,导致干净的汇编。

下面的示例带有示例单线。

$ cat /tmp/input_file 
mail1.sql:INSERT INTO
mail2.sql:INSERT INTO
mail3.sql:INSERT INTO
mail4.sql:INSERT INTO
mail6.sql:INSERT INTO
mail7.sql:INSERT INTO
mail8.sql:INSERT INTO
mail9.sql:INSERT INTO
maildev.sql:INSERT INTO

$ perl -C -nE '
m{^(?<server>mail[^.]+)\.sql:(?<string>INSERT INTO)};
exists $fd->{$+{server}} or open($fd->{$+{server}}, ">>", "/tmp/". $+{server}.".tmp.sql");
print sprintf(qq{server %s.domain.tld command %s;\n}, $+{server}, $+{string});
' /tmp/input_file 
server mail1.domain.tld command INSERT INTO;
server mail2.domain.tld command INSERT INTO;
server mail3.domain.tld command INSERT INTO;
server mail4.domain.tld command …
Run Code Online (Sandbox Code Playgroud)

perl syntax-error filehandle perl5

2
推荐指数
1
解决办法
41
查看次数

IO::Select 并向句柄添加标签

我想知道在我使用时向句柄添加额外数据的最佳方法是IO::Select什么?

基本上我想添加一个句柄,IO::Select但也有附加到该句柄的附加信息,我可以稍后检索。

注意:我知道我可以保留一个单独的数据结构来保存一个句柄和附加数据,但这需要协调两个数据结构,这可能会导致比其价值更多的问题。

perl select filehandle

2
推荐指数
1
解决办法
102
查看次数

有没有办法获取当前文件句柄,该句柄将与 perl 中的 &lt;&gt; 运算符一起使用?

我已经看到close ARGV可以关闭当前处理的文件,但它似乎ARGV实际上不是文件句柄,所以我不能在调用中使用它read。有什么方法可以获取当前的文件句柄,还是我必须自己显式打开文件?

perl filehandle

2
推荐指数
1
解决办法
69
查看次数

C++中的Infile句柄(Perl中的ala __DATA__)

C++是否可以通过文件句柄访问infile数据?例如,Perl中的典型习语是:

while (<DATA>) {
  chomp;
  # do sth with $_
}

__DATA__
Foo
Bar
Run Code Online (Sandbox Code Playgroud)

在C++中这样做的方法是什么?

c++ filehandle

1
推荐指数
1
解决办法
597
查看次数

删除当前加载的程序集

在我的应用程序中附带一个卸载程序.一切都运行正常,除了在完成所有操作后我找不到删除uninstaller.exe文件的方法.

我试图将当前程序集exe复制到临时目录中,但原始文件的文件句柄仍然被锁定.

有任何想法吗?

c# file-io filehandle

1
推荐指数
1
解决办法
808
查看次数

Perl:使用stat()

我试图在perl脚本中使用stat().我已经阅读了关于perldocs的文档,说如何使用它:

$mode = (stat($filename))[2];
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

$mode = (stat($filename))[2];
print $mode;

Use of uninitialized value $mode in print at ... 
Run Code Online (Sandbox Code Playgroud)

我认为需要另一种语法来访问stat返回的值.Data :: dumper返回此结构:

   @stat = stat($filename);
   print Dumper(@stat);

  $VAR1 = bless( [
   48,
   305368,
   33188,
   1,
   0,
   0,
   0,
   '2011',
   1397569653,
   1397569653,
   1397569653,
   4096,
   8
  ], 'File::stat' );
Run Code Online (Sandbox Code Playgroud)

perl filehandle

1
推荐指数
1
解决办法
537
查看次数

标签 统计

filehandle ×10

perl ×5

c ×1

c# ×1

c++ ×1

file-io ×1

java ×1

libgdx ×1

parsing ×1

perl5 ×1

pipe ×1

python ×1

select ×1

serialization ×1

syntax-error ×1

writing ×1