当我尝试从python3
中的psutil模块访问属性时出现此错误2016-05-17 18:15:44,216 BOOT pyom| Logging system initialized.
2016-05-17 18:15:44,279 BOOT pyom| Entering Game Loop
Traceback (most recent call last):
File "/Users/duys/pyom/Rom24/pysrc/pyom.py", line 80, in <module>
Pyom()
File "/Users/duys/pyom/Rom24/pysrc/pyom.py", line 76, in Pyom
game_loop(server)
File "/Users/duys/pyom/Rom24/pysrc/comm.py", line 265, in game_loop
start_snapshot = sys_utils.ResourceSnapshot()
File "/Users/duys/pyom/Rom24/pysrc/sys_utils.py", line 29, in __init__
proc_io = proc.io_counters()
AttributeError: 'Process' object has no attribute 'io_counters'
我不明白,因为我可以成功导入模块psutils并浏览psutil我找到方法io_counters ..
即使在我的PyCharm上设置一个项目,也表明找到了io_counters,但是当我尝试运行它时,我得到了那个错误?
以下是失败的代码片段:
import psutil
import logging
logger = logging.getLogger()
def sysTimeStamp(timeval):
"""
Formats a raw time value into a formatted string in a standard format.
:param timeval:
:return:
"""
return datetime.fromtimestamp(timeval).strftime("%Y-%m-%d %H:%M:%S")
class ResourceSnapshot:
"""
Creates a snapshot of system information as an object.
"""
def __init__(self):
sysmem = psutil.virtual_memory()
proc = psutil.Process()
proc_io = proc.io_counters()
有人能指出我正确的方向吗?
答案 0 :(得分:0)
来自documentation of Process.io_counters()
:
不支持OSX [...]
可用性:除OSX和Solaris之外的所有平台
该属性不存在,因为您正在OS X上执行脚本。请参阅source code,如果底层平台特定的流程类具有该属性,则仅包含该方法。 OS X implementation没有提供,因为操作系统本身并不提供此信息。