小编jiv*_*key的帖子

将数字1添加到集合无效

我无法将整数添加1到现有集合中.在交互式shell中,这就是我正在做的事情:

>>> st = {'a', True, 'Vanilla'}
>>> st
{'a', True, 'Vanilla'}
>>> st.add(1)
>>> st
{'a', True, 'Vanilla'}   # Here's the problem; there's no 1, but anything else works
>>> st.add(2)
>>> st
{'a', True, 'Vanilla', 2}
Run Code Online (Sandbox Code Playgroud)

这个问题是两个月前发布的,但我认为它被误解了.我使用的是Python 3.2.3.

python set python-3.x

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

Java FileLock阻塞没有异常; 在等待锁

我发现Java文件锁定机制是一个真正的错误,因为它无法执行第一个锁定规则 - 阻止锁定调用!除非我错了 - 如果应用程序已经对文件保持锁定,则对lock()的调用将抛出异常,我知道在我的应用程序中就是这种情况.我在这里看了一些答案,不幸的是我没有使用Java 7.

有没有人有关于我如何处理等待独占文件锁而不将自己置于while(true)循环中的建议:)

在Aubin的回答后编辑(复制评论):

我想要做的是在将大文件复制到目录后再访问它,然后对其进行处理.我的代码很简单......

public boolean ifFileReady(File file) {
   boolean ready = false;
   FileLock lock = null;
   FileChannel channel = null;
   try {

      channel = new RandomAccessFile(file, "rw").getChannel();
      lock = channel.lock();
      lock.release();
      ready = true;
   }
   catch( IOException e ) {
      // Always Here
   }
   finally
   {
      if (channel != null)
         channel.close();
   }
   return ready;
}
Run Code Online (Sandbox Code Playgroud)

我从不阻挡锁.它总是抛出

java

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

在Python中从文件动态创建类

我已经看到了这些"动态创建类"的问题,这些问题的答案是"使用type()函数".我相信我必须在某个时候,但是知道我是无能为力的.但是从我所看到的你已经知道了关于这个课程的一些知识,比如一个名字.

我要做的是解析一个idl类型的文件,并从中创建一个具有方法和属性的类.所以在解析字符串之前,我没有知道类名,函数,参数或任何内容.

有任何想法吗?

python

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

从给定Java 8上的键列表的映射中提取值列表

我感到很尴尬,我被困在这,但我试图List<String>Map<MyEnum, String>给定的枚举键列表中拉出字符串列表()List<MyEnum>.在List<MyEnum>可能或可能不包含的条目.

编辑:

List<String> toReturn = new ArrayList<>();

for (MyEnum field : fields) {
    String value = null;
    if ((value = map.get(field)) != null) {
       toReturn.add(value);
    }
}
return toReturn;
Run Code Online (Sandbox Code Playgroud)

但我正在寻找Java 8的方法来做到这一点.如...

map.stream().map(e->?????)
Run Code Online (Sandbox Code Playgroud)

java java-8

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

将Java Map Enum键转换为Map String键

我有以下地图:

Map<DataFields, String> myMap;
Run Code Online (Sandbox Code Playgroud)

但我需要将其转换为以下内容:

Map<String, String> myMap;
Run Code Online (Sandbox Code Playgroud)

我最好的微弱尝试,甚至没有编译是:

myMap.keySet().stream().map(k -> k.name()).collect(Collectors.toMap(k, v)
Run Code Online (Sandbox Code Playgroud)

java dictionary java-8

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

Bash脚本来计算文本文件中的CR / LF

我读过许多awk&sed的内衬来尝试执行我需要的功能,但似乎都没有效果。我想做的只是简单地计算Linux文件中CR / LF中断的次数。该文件也包含普通的LF换行符,我只需要知道要导入的真实记录数即可。

我尝试过的一种这样的awk行是 awk '/^M$/{n++}; END { print n+0 }' my_file这样的。这没有用。任何帮助都会很棒。我不是awk专家,所以请放轻松。

linux bash shell awk

4
推荐指数
2
解决办法
2842
查看次数

如何将输出分配给两个bash数组变量

这里有一些模糊的答案,但没有什么可以真正回答我的问题.我正处于我的bash脚本中的一个位置,我必须从输出中填充两个数组,如下所示:

part-of-the-file1:line_32
part-of-the-file1:line_97
part-of-the-file2:line_88
part-of-the-file2:line_93
Run Code Online (Sandbox Code Playgroud)

我需要做的是在自己独立的数组中提取文件和行号.到目前为止,我有:

read FILES LINES <<<($(echo $INPUTFILES | xargs grep -n $id | cut -f1,2 -d':' | awk '{print $1 " " $2}' 修改IFS=':'但这不起作用.我确信有更好的解决方案,因为我不是脚本或工具向导.

linux bash sh

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

标签 统计

java ×3

bash ×2

java-8 ×2

linux ×2

python ×2

awk ×1

dictionary ×1

python-3.x ×1

set ×1

sh ×1

shell ×1