我需要在运行系统代码时记录大量数据。我可以使用哪些日志包来实现高效的异步日志记录?默认情况下,标准 Python 日志记录包 ( https://docs.python.org/2/library/logging.html ) 是异步的吗?
我知道如何找到子字符串的很多方法:从开始索引到结束索引,字符之间等,但我有一个问题,我不知道如何解决:我有一个字符串,例如路径:folder1/folder2/folder3/new_folder/image.jpg
和第二个路径:folder1/folder2/folder3/folder4/image2.png
从这条路径我想只采取最后的部分:image.jpg和image2.png.如果我不知道它何时开始(我不知道索引,但我可以认为它将在最后一个/字符之后),如果很多时候一个字符重复(/)并且扩展名不同,我如何获取子字符串(.jpg和.png甚至其他)?
我找到按钮有问题.我有一个AlertDialog选择5种选择之一的地方.当我选择一个选项时,我想改变我点击的按钮的颜色.我在xml文件里面声明了按钮<RealativeLayout>但是当我试图通过id找到我的按钮时(id's就像"id1","id2"...)使用这个findViewById方法,有一个错误,它说我不能像我一样使用这个方法:
AlertDialog.Builder builder = new AlertDialog.Builder(StartGameActivity.this);
builder.setTitle(R.string.pickColor);
builder.setItems(R.array.colorArray, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Button btn_tmp;
String theButtonId = "id";
theButtonId = theButtonId+(String.valueOf(which));
btn_tmp = (Button) findViewById(theButtonId);
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,或者我应该使用其他方法?
编辑:
我想我解决了我的问题.我使用了Button的方法之一:getId(),如下所示:
final int id = clickedButton.getId();
final ImageButton btn_tmp;
btn_tmp = (ImageButton)findViewById(id);
Run Code Online (Sandbox Code Playgroud) 是否可以在数组前面添加一个值?我知道如何连接两个数组,但如果我有一个数组和一个值(与数组类型相同),我可以将此元素添加到数组前面吗?
在打开URL读取数据之前,我想检查URL是否有效.
我用的功能,urlparse从urlparse包:
if not bool(urlparse.urlparse(url).netloc):
# do something like: open and read using urllin2
Run Code Online (Sandbox Code Playgroud)
但是,我注意到一些有效的URL被视为已损坏,例如:
url = upload.wikimedia.org/math/8/8/d/88d27d47cea8c88adf93b1881eda318d.png
Run Code Online (Sandbox Code Playgroud)
此URL有效(我可以使用我的浏览器打开它).
有没有更好的方法来检查URL是否有效?
如果我有一个heapq,其中包含一些元素,如:
import heapq
class Element(object):
def __init__(self, name, val):
self.name = name
self.val = val
if __name__ == "__main__":
heap = []
e1 = Element('A', 1)
e2 = Element('B', 65)
e3 = Element('C', 53)
e4 = Element('D', 67)
...
heapq.heappush(heap, e1)
heapq.heappush(heap, e2)
heapq.heappush(heap, e3)
heapq.heappush(heap, e4)
...
#IF I want to take elements from the heap and print them I will call:
while heap:
new_e = heapq.heappop(heap)
print new_e.name + ' ' + str(new_e.val)
Run Code Online (Sandbox Code Playgroud)
假设我在堆上有50个元素.我想将元素e3的值从val = 53更改为val = 0.所以这不是堆的顶部元素.我也不想从堆中删除其他元素.我该怎么做这样的更新?
我有一个基于 Twisted 的网络系统的实现。我注意到当我在一个新线程而不是主线程中运行一个函数(它执行一些数学运算并打印结果)时,该print函数会导致Segmentation fault. 是否可以?有没有办法避免这种情况?
如果我有一个 type 变量&[u8],有没有办法将其转换为[u8; SIZE]SIZE 是某个固定常量的类型?
我有一个元组向量:
let v = vec![(1, 1), (1, 1), (1, 3), (1, 4), (2, 2), (2, 4), (2, 6)];
Run Code Online (Sandbox Code Playgroud)
我想把它分成两个列表。第一个列表包含每个元组中的第一个元素,第二个列表包含第二个元素,即:
l1 = [1, 1, 1, 1, 2, 2]和l2 = [1, 1, 3, 4, 2, 4]。
我怎样才能做到这一点?
我有一个想法,创建一个应用程序,使我能够从Android上的相机手机分析图像.我正在考虑创建一个能够识别面部的应用程序(现在只是一个想法),但首先我想创建一些更容易的东西(比如检测例如蓝色圆圈旁边的红色方块的应用程序).Android有任何库或功能可以帮助我识别我使用相机手机拍摄的照片中的形状(如方形,矩形,圆形)和颜色吗?欢迎任何建议