是否可以通过网站控制手机上的摄像头灯?通过Chrome或Firefox说.我知道可以使用Android或iOS应用程序,许多手电筒应用程序都在那里.我知道可以通过getUserMedia系列功能控制摄像机.如果没有,有谁知道什么时候可用?
我正在尝试使用React-Native开发应用程序时将USB设备(使用USB OTG)连接到我的Android设备.经典地调试Android应用程序,一个使用USB调试模式通过adb连接,但由于我的USB端口用于我的USB OTG设备,这是不可能的.
我尝试使用该adb tcpip
方法(如何通过TCP连接Android与ADB?)但这不起作用,因为我的设备找不到'开发服务器'.有没有人有这样的调试运气?
我正在寻找一种方法来收集同类对象,将它们包装在另一个对象中,但使包装对象具有与原始对象相同的API,并将相应的API调用转发给其对象成员。
class OriginalApi:
def __init__(self):
self.a = 1
self.b = "bee"
def do_something(self, new_a, new_b, put_them_together=None):
self.a = new_a or self.a
self.b = new_b or self.b
if put_them_together is not None:
self.b = "{}{}".format(self.a, self.b)
# etc.
class WrappedApi:
def __init__(self):
self.example_1 = OriginalApi()
self.example_2 = OriginalApi()
Run Code Online (Sandbox Code Playgroud)
已经考虑了一些可能的解决方案,但是这些解决方案还不够充分:
重写整个API,为什么不呢?由于API相当大且正在扩展,因此还不够。必须在多个位置维护API是不现实的。
代码示例:
class WrappedApi:
def __init__(self):
self.example_1 = OriginalApi()
self.example_2 = OriginalApi()
def do_something(self, new_a, new_b, put_them_together=None):
self.example_1.do_something(new_a, new_b, put_them_together)
self.example_2.do_something(new_a, new_b, put_them_together)
Run Code Online (Sandbox Code Playgroud)使用列表和for循环这将更改对象上的API。就是说,这是我无法找到更优雅的解决方案。在这种情况下,WrappedApi
该类将不存在。
代码示例:
wrapped_apis = [OriginalApi(), …
Run Code Online (Sandbox Code Playgroud)通常在Python中,应该使用an _
来表示参数未使用.
def example_basic(unused):
pass
Run Code Online (Sandbox Code Playgroud)
变
def example_basic(_):
pass
Run Code Online (Sandbox Code Playgroud)
然后,如果有多个未使用的参数,_
则不能使用多个s,因为它们会发生冲突,因此*_
使用a:
def example_multiple(unused1, unused2):
pass
Run Code Online (Sandbox Code Playgroud)
变
def example_multiple(*_):
pass
Run Code Online (Sandbox Code Playgroud)
最后,如果有多个不相邻的参数未使用,应该怎么做?
def example_non_adjacent(unused1, used, unused2):
return used
Run Code Online (Sandbox Code Playgroud)
使用多个_
s仍然不起作用,并且使用*_
不起作用,因为它们不相邻.
请注意,我非常希望更改API,但为了这个问题,让我们假设这是不可能的.有没有办法表明它被忽略而没有使用像# pylint: disable=unused-argument
PyLint或者我不知道PyCharm的东西?
编辑:
我发布了一个例子,这里需要这个
有没有办法duplicate-code
只为测试文件禁用Pylint的消息?我们项目中的所有测试都是DAMP,因此重复的代码是设计的.我知道我们可以在# pylint: disable=duplicate-code
整个测试过程中添加,但宁可添加一些规则,说明文件test/
夹下的所有文件都会禁用此规则.有没有办法做到这一点?
更具体地说,我正在寻找与"运行两次"解决方案不同的东西(这是我已经重新开始的).
我试图在yield语句中扩展一个元组,但我得到了一个SyntaxError
.这甚至是可能的,还是*
仅用于函数调用的运算符?
以下是一个示例:
class Inner(object):
def __init__(self):
self._vals = {'a': 1,
'b': 2,
'c': 3,
'd': 4}
def __iter__(self):
for key, val in self._vals.items():
yield key, val
class Outer(object):
def __init__(self):
self._morevals = {"foo": Inner(),
"bar": Inner()}
def __iter__(self):
for key, moreval in self._morevals.items():
for val in moreval:
yield key, *val # !!! <--- This is where the error is
object_under_test = Outer()
for outer_key, inner_key, inner_value in object_under_test:
print("{} {} {}".format(outer_key, inner_key, inner_value))
# Want:
# …
Run Code Online (Sandbox Code Playgroud) python ×4
pylint ×2
android ×1
debugging ×1
generator ×1
javascript ×1
mobile ×1
pep8 ×1
python-3.x ×1
react-native ×1
unit-testing ×1
usb-otg ×1
yield ×1