小编foo*_*ion的帖子

使用adb刷新Android媒体库

我正在使用adb在Android手机上同步音乐.基本上,我是现有的音乐目录并推送替换音乐文件.

我希望能够使用adb强制重新扫描,以便谷歌音乐播放器(和其他应用程序)与新歌曲和播放列表一起正常工作.

根据我如何在Android上刷新MediaStore?您可以通过广播适当的意图强制重新扫描.

adb提供'shell am broadcast',这似乎允许我强制从adb重新扫描.

或者,我可以运行重新扫描应用程序或重新启动,但我想从adb触发重新扫描

我应该发出什么adb命令?音乐文件和播放列表都在/ sdcard/music中.

android adb android-mediascanner

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

for open in line(filename)

我经常看到类似的python代码

for line in open(filename):
    do_something(line)
Run Code Online (Sandbox Code Playgroud)

文件名何时被此代码关闭?

写作会更好吗?

with open(filename) as f:
    for line in f.readlines():
        do_something(line)
Run Code Online (Sandbox Code Playgroud)

python garbage-collection file

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

在Tkinter应用程序中是否继承Frame

我已经看到了两种设置tkinter程序的基本方法.有没有理由更喜欢一个到另一个?

from Tkinter import *

class Application():
    def __init__(self, root, title):
        self.root = root
        self.root.title(title) 

        self.label = Label(self.root, text='Hello')
        self.label.grid(row=0, column=0)  

root = Tk()
app = Application(root, 'Sample App')
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

from Tkinter import *

class Application(Frame):
    def __init__(self, title, master=None):
        Frame.__init__(self, master)
        self.grid()
        self.master.title(title) 

        self.label = Label(self, text='Hello')
        self.label.grid(row=0, column=0) 

app = Application('Sample App')
app.mainloop()   
Run Code Online (Sandbox Code Playgroud)

python tkinter

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

python:使用列表值迭代字典

给出列表的字典,例如

d = {'1':[11,12], '2':[21,21]}
Run Code Online (Sandbox Code Playgroud)

哪个更pythonic或更好:

for k in d:
    for x in d[k]:
        # whatever with k, x
Run Code Online (Sandbox Code Playgroud)

要么

for k, dk in d.iteritems():
    for x in dk:
        # whatever with k, x
Run Code Online (Sandbox Code Playgroud)

还是还有别的东西需要考虑?

编辑,如果列表可能有用(例如,标准dicts不保留顺序),这可能是合适的,尽管它要慢得多.

d2 = d.items()
for k in d2:
        for x in d2[1]:
            # whatever with k, x
Run Code Online (Sandbox Code Playgroud)

python dictionary iterator python-2.7

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

将多行粘贴到IDLE中

有没有办法将一段代码粘贴到IDLE中?逐行粘贴工作,但有时我想一次粘贴多行.当我尝试时,IDLE读取第一行并忽略其余部分.

>>> a = 1
b = 2
c = 3

>>> 
>>> a
1
>>> b

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    b
NameError: name 'b' is not defined
Run Code Online (Sandbox Code Playgroud)

python python-idle

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

如何使用python访问MTP USB设备

如何在python中通过USB线使用MTP读取和写入我的Galaxy Nexus手机?我在Windows 7电脑上.

python mtp

21
推荐指数
3
解决办法
9719
查看次数

在Python 3.2中使用signed string的十六进制字符串?

如何在Python 3.2中将十六进制字符串转换为signed int?

我能想到的最好的是

h = '9DA92DAB'
b = bytes(h, 'utf-8')
ba = binascii.a2b_hex(b)
print(int.from_bytes(ba, byteorder='big', signed=True))
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?无符号是如此简单:int(h,16)

BTW,问题的起源是itunes持久性id - 音乐库xml版和iTunes hex版

hex integer python-3.x

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

无法获得一个窗口,中止

我正在得到运行Kivy hello world程序的常见错误.我已经尝试了我在这里看到的解决方案:手动安装gstreamer,添加PATH和安装PySDL2.我的操作系统是Windows 7,所有其他版本信息都在错误日志中.

# you need this two lines:
import os
os.environ['KIVY_IMAGE'] = 'pil,sdl2'

#kivy program
from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()
Run Code Online (Sandbox Code Playgroud)

错误日志:

[INFO              ] [Logger      ] Record log in C:\Users\xyz\.kivy\logs\kivy_16-11-19_11.txt
[INFO              ] [Kivy        ] v1.9.1
[INFO              ] [Python      ] v2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)]
[INFO              ] [Factory     ] 179 symbols loaded
[INFO              ] [Image       ] Providers: …
Run Code Online (Sandbox Code Playgroud)

python kivy

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

扩展java ArrayList

我想扩展ArrayList,为特定类添加一些方法,其实例将由扩展ArrayList保存.下面是简化的说明性代码示例.

这对我来说似乎很明智,但我对Java很新,我看到其他一些不鼓励扩展ArrayList的问题,例如Extending ArrayList和Creating new methods.我不太了解Java以了解异议.

在我之前的尝试中,我最终在ThingContainer中创建了一些基本上是传递给ArrayList的方法,因此扩展看起来更容易.

有没有更好的方法来做我想做的事情?如果是这样,应该如何实施?

import java.util.*;

class Thing {
    public String name;
    public int amt;

    public Thing(String name, int amt) {
        this.name = name;
        this.amt = amt;
    }

    public String toString() {
        return String.format("%s: %d", name, amt);
    }

    public int getAmt() {
        return amt;
    }
}

class ThingContainer extends ArrayList<Thing> {
    public void report() {
        for(int i=0; i < size(); i++) {
            System.out.println(get(i));
        }
    }

    public int total() {
        int tot = 0;
        for(int i=0; …
Run Code Online (Sandbox Code Playgroud)

java arraylist extend

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

Python argparse条件要求

如何设置argparse如下:

if -2 is on the command line, no other arguments are required
if -2 is not on the command line, -3 and -4 arguments are required
Run Code Online (Sandbox Code Playgroud)

例如,

-2 [good]
-3 a -4 b [good]
-3 a [not good, -4 required]
-2 -5 c [good]
-2 -3 a [good]
Run Code Online (Sandbox Code Playgroud)

这里有许多类似的问题,但要么他们没有解决这种情况,要么我不理解.

Python 2.7如果重要的话.

python python-2.7 argparse

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