小编Bex*_*Bex的帖子

递归子文件夹搜索并返回列表python中的文件

我正在编写一个脚本来递归遍历主文件夹中的子文件夹并构建一个特定文件类型的列表.我遇到了脚本问题.目前设定如下

for root, subFolder, files in os.walk(PATH):
    for item in files:
        if item.endswith(".txt") :
            fileNamePath = str(os.path.join(root,subFolder,item))
Run Code Online (Sandbox Code Playgroud)

问题是subFolder变量正在拉入子文件夹列表而不是ITEM文件所在的文件夹.我想在之前为子文件夹运行for循环并加入路径的第一部分,但我想我会仔细检查以确定是否有人在此之前有任何建议.谢谢你的帮助!

python recursion list os.walk

95
推荐指数
8
解决办法
12万
查看次数

Android View.getDrawingCache返回null,仅返回null

有人请尝试向我解释原因

public void addView(View child) {
  child.setDrawingCacheEnabled(true);
  child.setWillNotCacheDrawing(false);
  child.setWillNotDraw(false);
  child.buildDrawingCache();
  if(child.getDrawingCache() == null) { //TODO Make this work!
    Log.w("View", "View child's drawing cache is null");
  }
  setImageBitmap(child.getDrawingCache()); //TODO MAKE THIS WORK!!!
}
Run Code Online (Sandbox Code Playgroud)

ALWAYS记录绘图缓存为空,并将位图设置为null?

在设置缓存之前,我是否必须实际绘制视图?

谢谢!

android android-view

94
推荐指数
3
解决办法
7万
查看次数

奇怪如果声明

if在其他人的代码中发现了这个奇怪的陈述:

if variable & 1 == 0:
Run Code Online (Sandbox Code Playgroud)

我不明白.应该有两个==吧?

有人可以解释一下吗?

python if-statement python-2.7

23
推荐指数
4
解决办法
2096
查看次数

未处理的矮人表达

任何人都可以告诉我下面的分段错误究竟意味着什么?

Unhandled dwarf expression opcode 0x93
Run Code Online (Sandbox Code Playgroud)

它在solaris 10 i386上.

任何建议表示赞赏

opcode

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

GTK修改GtkButton的背景颜色

试图改变背景/前景色....使用Gtk +和C.

  GdkColor color;
  gdk_color_parse( "#0080FF", &color );
  gtk_widget_modify_fg( GTK_WIDGET(button), GTK_STATE_SELECTED, &color );
  gtk_widget_modify_fg( GTK_WIDGET(button), GTK_STATE_NORMAL, &color );
Run Code Online (Sandbox Code Playgroud)

我正在使用上述功能,但它没有给出任何结果.

我正在寻找这个问题中的问题(但在C中):
GTK:创建一个彩色的常规按钮

如何使用按钮样式更改按钮样式?任何人都可以提供一些例子吗?

c gtk gtk2

8
推荐指数
2
解决办法
2万
查看次数

Java 中的生产者-消费者多线程

我想用Java中的多线程等待和通知方法编写程序。
该程序有一个堆栈(最大长度 = 5)。生产者永远生成数字并将其放入堆栈中,消费者从堆栈中选取它。

当堆栈已满时,生产者必须等待,当堆栈为空时,消费者必须等待。
问题是它只运行一次,我的意思是一旦它产生 5 个数字,它就会停止,但我将 run 方法放在 while(true) 块中以不间断运行,但它没有。
这是我到目前为止所尝试的。
生产者类别:

package trail;
import java.util.Random;
import java.util.Stack;

public class Thread1 implements Runnable {
    int result;
    Random rand = new Random();
    Stack<Integer> A = new Stack<>();

    public Thread1(Stack<Integer> A) {
        this.A = A;
    }

    public synchronized void produce()
    {
        while (A.size() >= 5) {
            System.out.println("List is Full");
            try {
                wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        result = rand.nextInt(10);

        System.out.println(result + " produced ");
        A.push(result);
        System.out.println(A); …
Run Code Online (Sandbox Code Playgroud)

java multithreading producer-consumer notify wait

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

为什么在同步change操作时需要同步HashMap.get(key)?

我在一个 HashMap 上使用来自多个线程的.get(...),.put(...).clear()操作。.put(...)并且.clear()在一个synchronized块内但.get(...)不是。我无法想象这会导致问题,但在我见过的其他代码.get()中几乎总是同步的。

获取/放置的相关代码

Object value = map.get(key);
if(value == null) {
  synchronized (map) {
    value = map.get(key); // check again, might have been changed in between
    if(value == null) {
      map.put(key, new Value(...));
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

明确只是:

synchronized (map) {
  map.clear();
}
Run Code Online (Sandbox Code Playgroud)

由于同步,写入操作将使缓存无效,并且get(...)返回 null 或实例。我真的看不出什么地方会出错,或者通过将.get(...)操作放入一个synchronized(map)块会改进什么。

java multithreading synchronization

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

在Java 8中耗尽队列的惯用方法是什么?

说我有一个队列,我想用尽它.我会这样做的方式是这样的

void emptyQueue(Queue<T> q) {
  T i;
  while ((i = q.poll()) != null)
    consume(i);
}
Run Code Online (Sandbox Code Playgroud)

但这感觉就像一种古老的方法.

我想要更像这种forEach方法的东西.它当然是存在的 - Queue存在Collection- 但它迭代元素,而不是消耗它们.

理想情况下,我会喜欢一种pollEach方法Queue- 但我似乎找不到合适的东西.

你是怎么写这种代码的?

java queue java-8

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

在活动之间保存状态

我有2个名为FirstActivity.javaand的活动SecondActivity.java.

当我点击一个按钮时FirstActivity,我打电话SecondActivity.当我从返回时SecondActivity,基于结果,我需要跳过FirstActivity在其onCreate()方法中执行的一些步骤.

SecondActivityBundle以前回来把我给出的数据作为输入Intent.我在onCreate()第一个活动中访问了该数据.

当我开始时,活动应用程序崩溃显示NullPointerException在我访问第二个活动的数据的行中.

我认为,原因是当应用程序第一次启动时,没有值 Bundle

那么,任何人都可以帮我解决这个问题吗?

android

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

错误:无法初始化gtk,是否正确设置了DISPLAY?

我正在尝试从服务器“ bert”运行Image应用程序

我通过OSX Maverick连接为

ssh ak324@bert.eecs.qmul.ac.uk
Run Code Online (Sandbox Code Playgroud)

我用

$ make
Run Code Online (Sandbox Code Playgroud)

但是当我运行生成的文件时

$ ./窗口

它给了我以下错误:

Error: Unable to initialize gtk, is DISPLAY set properly?
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

x11-forwarding

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

Java - 同步

嗨,我做了一个扩展线程的东西,添加添加一个具有IP的对象.然后我做了这个线程的两个实例并启动它们.他们使用相同的列表.

我现在想使用Synchronized来停止并发更新问题.但它没有工作,我无法解决原因.

我的主要课程:

import java.util.*;
import java.io.*;
import java.net.*;

class ListTest2 {
    public static LinkedList<Peer>  myList = new LinkedList<Peer>();

    public static void main(String [] args) {   
        try {
            AddIp test1 = new AddIp(myList);
            AddIp test2 = new AddIp(myList);

            test1.start();
            test2.start();      
        } catch(Exception e) {
            System.out.println("not working");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的线程类:

 class AddIp extends Thread {
     public static int startIp = 0;

     List<Peer> myList;

     public  AddIp(List<Peer> l) {
         myList = l;
     }


     public synchronized void run() {      
        try {
            startIp = …
Run Code Online (Sandbox Code Playgroud)

java multithreading synchronization

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