如果我在Python提示符下执行print(dir(pychromecast))
,则会在此消息的底部获得列表。应该使用哪种方法?因为有些像pychromecast.get_device_status()
那样,但是有些像_get_chromecast_from_host
或get_chromecasts
则抛出属性错误,如:
AttributeError: module 'pychromecast' has no attribute 'get_chromehosts'
是我在做/理解根本上是错误的事情吗?名称前的_
是否起作用?
如所承诺的,这是dir的输出:
['APP_BACKDROP', 'APP_DASHCAST', 'APP_MEDIA_RECEIVER', 'APP_PLEX',
'APP_SPOTIFY', 'APP_YOUTUBE', 'CAST_TYPES', 'CAST_TYPE_CHROMECAST',
'Chromecast', 'ChromecastConnectionError', 'ControllerNotRegistered',
'DeviceStatus', 'IDLE_APP_ID', 'IGNORE_CEC', 'LaunchError',
'MultipleChromecastsFoundError', 'NoChromecastFoundError', 'NotConnected',
'PyChromecastError', 'PyChromecastStopped', 'STREAM_TYPE_BUFFERED',
'UnsupportedNamespace', '_LOGGER', '__all__', '__builtins__', '__cached__',
'__doc__', '__file__', '__loader__', '__name__', '__package__',
'__path__', '__spec__', '__version__', '__version_info__',
'_get_chromecast_from_host', '_get_chromecast_from_service',
'cast_channel_pb2', 'config', 'controllers', 'dial',
'discover_chromecasts', 'discovery', 'error', 'fnmatch', 'get_app_config',
'get_chromecasts', 'get_device_status', 'get_possible_app_ids', 'json',
'logging', 'reboot', 'requests', 'socket_client', 'start_discovery',
'stop_discovery', 'threading']
答案 0 :(得分:2)
但是其他类似
_get_chromecast_from_host
或get_chromecasts
的对象会抛出诸如...的属性错误。
部分问题似乎是拼写错误。您提到了get_chromecasts
,但您的例外行中提到了chrome 主机:
AttributeError:模块'pychromecast'没有属性'get_chrome 主机'
您是否也可能在打_get_chromecast_from_host
时出现错字,或者提供了错误的论点?您能否提供该函数调用的特定异常?
答案 1 :(得分:1)
他们都应该“工作”。其中有些将是方法,有些将是变量。您是否尝试过_get_chromecast_from_host
和 _get_chromecast_from_host()
?至于该属性前面的_或__,则表示该属性已受到保护,您可能不应该直接对其进行修改,尽管只需阅读即可。至少那是我的理解:)