我无法将整数添加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.
我发现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)
我从不阻挡锁.它总是抛出
我已经看到了这些"动态创建类"的问题,这些问题的答案是"使用type()函数".我相信我必须在某个时候,但是知道我是无能为力的.但是从我所看到的你已经知道了关于这个课程的一些知识,比如一个名字.
我要做的是解析一个idl类型的文件,并从中创建一个具有方法和属性的类.所以在解析字符串之前,我没有知道类名,函数,参数或任何内容.
有任何想法吗?
我感到很尴尬,我被困在这,但我试图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) 我有以下地图:
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) 我读过许多awk&sed的内衬来尝试执行我需要的功能,但似乎都没有效果。我想做的只是简单地计算Linux文件中CR / LF中断的次数。该文件也包含普通的LF换行符,我只需要知道要导入的真实记录数即可。
我尝试过的一种这样的awk行是
awk '/^M$/{n++}; END { print n+0 }' my_file这样的。这没有用。任何帮助都会很棒。我不是awk专家,所以请放轻松。
这里有一些模糊的答案,但没有什么可以真正回答我的问题.我正处于我的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=':'但这不起作用.我确信有更好的解决方案,因为我不是脚本或工具向导.