小编3ya*_*uya的帖子

切换到Python 3导致UnicodeDecodeError

我刚刚向Sublime添加了Python3解释器,以下代码停止工作:

for directory in directoryList:
    fileList = os.listdir(directory)
    for filename in fileList:
        filename = os.path.join(directory, filename)
        currentFile = open(filename, 'rt')
        for line in currentFile:               ##Here comes the exception.
            currentLine = line.split(' ')
            for word in currentLine:
                if word.lower() not in bigBagOfWords:
                    bigBagOfWords.append(word.lower())
        currentFile.close()
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

  File "/Users/Kuba/Desktop/DictionaryCreator.py", line 11, in <module>
    for line in currentFile:
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 305: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪,因为据我所知,Python3应该支持utf-8无处不在.更重要的是,相同的代码在Python2.7上没有任何问题.我已经阅读了关于添加环境变量的内容PYTHONIOENCODING,但我尝试了它 …

python encoding python-3.x

27
推荐指数
1
解决办法
4万
查看次数

app:showAsAction vs android:showAsAction

我正在构建一个Android应用程序,并希望在actionBar上始终显示一个按钮.我遵循了这个指南和其他人,但他们似乎都没有解决我的问题(虽然他们非常接近我猜...).

我有包"app"并使用app:showAsAction="always".没有显示错误,但栏上也没有按钮.当我将其更改为android:showAsAction="always"按钮出现在栏上时,但AndroidStudio告诉我应该选择"app:showAsAction with appCompat ...".

我有一个自定义主题parent="@android:style/Theme.Holo.Light.DarkActionBar">和酒吧本身:parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">.

我应该改变一些东西并开始app:showAsAction工作,或者忽略AndroidStudio错误消息并去寻找android:showAsAction

android android-menu android-actionbar android-studio

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

C#vs Java - 为什么需要虚拟关键字?

我开始学习一些C#,我遇到了一个令人不安的问题:虚拟方法.是否有必要使用此关键字?

Java中的简单多态不会要求虚拟关键字起作用,即使覆盖注释是可选的:

package figures;

public class Figures {
    public static void main(String[] args) {
        Figure figure = new Figure();
        Circle circle = new Circle();
        Triangle triangle = new Triangle();
        Figure []arrayOfFigures = {figure, circle, triangle};
        for (int i = 0; i < 3; i++){
            arrayOfFigures[i].introduceYourself();
        }
    }
}

class Figure {
    public void introduceYourself(){
        System.out.println("I am just a figure.");
    }
}

class Circle extends Figure {
    @Override
    public void introduceYourself() {
        System.out.println("I am a circle.");
    }
}

class Triangle extends …
Run Code Online (Sandbox Code Playgroud)

c# java polymorphism

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

即时编译 - 它何时实际发生在Java中?

最近我参加了关于Java效率的讨论.正如我所听到的,反对Java的大量论据是解释"非常耗时",因为它甚至简单的Java程序运行速度比直接编译到机器代码的类似程序慢.

答案就是Java代码经常直接编译为机器代码,如果只有JVM计算它会使程序比以标准方式解释更快.

我的问题是:JVM何时"决定"执行即时编译?使JIT比标准字节码解释更有效的标准是什么?我的意思是,编译本身需要一些时间,据我所知,当程序已经运行时,它应该发生了吗?

java performance jit

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

Java Swing内存使用情况

关于这个问题有很多问题,但没有答案让我满意; 我正在使用Swing编写一个简单的GUI窗口.目前它只包含4个按钮,其中一个是打开文件选择器.

当我使用VisualVM监视工具查看内存使用情况时,结果如下所示:

内存使用情况http://img17.imageshack.us/img17/3589/8txc.png

当我点击按钮时出现第一个长矛,然后我什么也没做.

这是空闲应用程序消耗10M/min(当它什么都没做的时候)这是正常的吗?

由于我必须使用图像做一个类似quizz的applet,System.gc()每次切换到下一个问题时我是否应该使用它来避免(可能是巨大的?)内存使用?

java swing jvm memory-management

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

在 Palantir Foundry 中编辑对象支持的表单需要什么权限?

我有一个由对象支持的 Foundry Form,能够对其进行更改。我需要授予我的同事什么权限才能编辑表单?表单上的编辑器是否足够,或者他们是否还需要成为对象的编辑器?

palantir-foundry

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

用PyYAML用单引号引起来的单个字符串

当我使用PyYAML在Python中编辑YAML文件时,我所有的字符串值都保存回没有引号的原始文件中。

one: valueOne
two: valueTwo
three: valueThree
Run Code Online (Sandbox Code Playgroud)

我希望这些字符串之一用单引号引起来:

one: valueOne
two: valueTwo
three: 'valueThree'
Run Code Online (Sandbox Code Playgroud)

更改中的default_style参数yaml_dump会影响整个文件,这是不希望的。我考虑过在要包围的字符串的开头和结尾添加单引号:

valueThreeVariable = "'" + valueThreeVariable + "'"
Run Code Online (Sandbox Code Playgroud)

但是,最终会得到如下所示的转储YAML:

one: valueOne
two: valueTwo
three: '''valueThree'''
Run Code Online (Sandbox Code Playgroud)

我尝试使用unicode或原始字符串以各种方式转义单引号,但都无济于事。如何仅使我的YAML值之一成为用单引号引起来的字符串?

python yaml pyyaml

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

JVM中的多个线程 - 它们何时使用多个内核?

我最近有机会听取有关JVM的另一个讨论.据说Java虚拟机在并发性方面做得很好.我找不到任何令人满意的答案,我认为这是一个简单的问题:当JVM运行多线程(因此使用多个虚拟核心,对吗?)它是否利用机器CPU的多个真实核心?

我听到"不总是"或"有时"作为答案; 那么有什么方法可以确保当我们设计代码来运行多个线程时,JVM也将使用CPU的多个内核?或者另一方面,是什么决定了JVM是否使用多核CPU核心?

我真的不能举一个例子说明什么时候这是必要的,但我发现它很有意思,因为我知道设计师更喜欢在项目中确定一切.在一些大型应用程序中拥有多个线程的真正重点是,如果实际上它们永远不会被并行计算?

java concurrency jvm multicore

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

在Erlang中获取生成函数的结果

我目前的目标是编写计算N个元素列表的Erlang代码,其中每个元素都是它的"索引"的因子(因此,对于N = 10,我想得到[1!,2!,3!, ......,10!]).更重要的是,我希望每个元素都能在一个单独的过程中计算出来(我知道它只是效率低下,但我希望能够实现它并将其效率与其他方法进行比较).

在我的代码中,我想使用一个函数作为给定N的"循环",对于N,N-1,N-2 ...产生一个计算阶乘(N)并将结果发送到某些"收集"的过程"函数,将收到的结果打包到列表中.我知道我的概念可能过于复杂,所以希望代码可以解释一下:

messageFactorial(N, listPID) ->
    listPID ! factorial(N).      %% send calculated factorial to "collector".

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nProcessesFactorialList(-1) ->
    ok;
nProcessesFactorialList(N) ->
    spawn(pFactorial, messageFactorial, [N, listPID]),   %%for each N spawn...
    nProcessesFactorialList(N-1).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
listPrepare(List) ->            %% "collector", for the last factorial returns
    receive                     %% a list of factorials (1! = 1).
        1 -> List;
        X ->
            listPrepare([X | List])
    end.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
startProcessesFactorialList(N) ->
    register(listPID, spawn(pFactorial, listPrepare, [[]])),
    nProcessesFactorialList(N).
Run Code Online (Sandbox Code Playgroud)

我想它会起作用,我的意思是listPrepare最终会返回一个阶乘列表.但问题是,我不知道如何获得该列表,如何获得它返回的内容?至于现在我的代码返回ok,因为这是nProcessesFactorialList在完成时返回的内容.我想到最后将listPrepare的结果列表发送到nProcessesFactorialList,但是它还需要是一个注册过程,我不知道如何恢复该列表.

基本上,如何从注册过程运行listPrepare(这是我的阶乘列表)中得到结果?如果我的代码根本不对,我会问一个如何让它变得更好的建议.提前致谢.

parallel-processing concurrency erlang functional-programming list

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

检查Java Map <T中的空条目,?延伸E>

我有一个Map<String, ? extends Collection<SomeClass>>.我想确保没有条目集合的大小为0.所以我试过myMap.values().stream().map(Collection::size).allMatch(size -> size > 0).但是,事实证明,myMap包含空条目.

我想检查我的地图是否包含空条目:resourceMap.values().stream().noneMatch(null)但我得到了一个例外java.util.Objects.requireNonNull.

我决定以一种相对老式的方式来做这个for-in循环for (Map.Entry<String, ? extends Collection> entry : myMap)但是,我收到一个编译错误,告诉我foreach不适用于我的Map.

检查地图中的所有条目是否为空且大小> 0的优雅方法是什么?

java dictionary java-stream

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