环境:
Python 3.7
Windows 10 64位
问题:
下面这段代码过去工作没有问题。我不得不移动我的Py魅力项目的文件夹,现在我得到了这个错误消息:“TypeError:'str'对象不可调用”。
守则:
import os
import psutil
mypid = os.getpid()
print(f"PID of Program: {mypid}")
PROCNAME = "Program.exe"
for proc in psutil.process_iter():
print(f"proc : {proc} - Type: {type(proc)}")
print(f"proc.name : {proc.name} - Type: {type(proc.name)}")
print(f"PROCNAME : {PROCNAME} - Type: {type(PROCNAME)}")
print(f"proc.pid : {proc.pid} - Type: {type(proc.pid)}")
print(f"mypid : {mypid} - Type: {type(mypid)}")
if proc.name() == PROCNAME and proc.pid != mypid: # < ====== Line 15 where is the error
print(f"Program will kill this process : {proc}")
proc.kill()
错误输出:
PID of Program: 4176
proc : psutil.Process(pid=0, name='System Idle Process') - Type: <class 'psutil.Process'>
proc.name : System Idle Process - Type: <class 'str'>
PROCNAME : Program.exe - Type: <class 'str'>
proc.pid : 0 - Type: <class 'int'>
mypid : 4176 - Type: <class 'int'>
Traceback (most recent call last):
File "E:/CFF Dropbox/Gauthier Buttez/cff/Python/PhoneBot_0002/test1.py", line 15, in <module>
if proc.name() == PROCNAME and proc.pid != mypid:
TypeError: 'str' object is not callable
我尝试的是:
我在一个空白的python文档中隔离了这段代码。我想确保这个问题没有连接到其他地方的代码。当我执行这段独立的代码时,我得到了同样的问题。
我在这里看到了关于“TypeError:‘str’object不可调用”的类似问题,但所有的答案都是针对问题代码的,这无助于我理解问题。
我做错了什么。如您所见,我打印了每个变量的值和类型,并将字符串与字符串、int与int进行比较。问题是什么?我不明白。你能帮帮我吗?
问题内容: 码: 第一次工作,然后第二次出现错误: 有人知道为什么是这样吗? 我已经尝试过了,但出现错误: 问题答案: 这就是问题: 你正在重新定义什么意思。是字符串类型的内置Python名称,你不想更改它。 为本地变量使用其他名称,然后删除该语句。
问题内容: 我正在尝试编写一个程序,该程序允许您输入班级中的学生人数,然后为每个学生输入3个测试成绩以计算平均值。我是编程新手,但会不断收到错误消息,我不了解它的含义或解决方法。这是我到目前为止所拥有的: 问题答案: 当你写 您的意图是“运行这段代码时间,我刚才输入的值在哪里”。但是在Python,你传递给事情一个声明需求是某种迭代对象的。在这种情况下,您想要的只是一个statement。这将生成
问题内容: 我有以下代码 当我运行它时,我得到了: 这是为什么?怎么修? 问题答案: 将变量称为。它掩盖了内置功能。
我有一个简单的脚本: 但是,每当我尝试运行脚本时,Python都会引发一个错误: 这个错误是什么意思?为什么我会得到它?我怎样才能修复它?
我可以从一个简单的脚本成功加载TextBlob模块,但不能从Flask应用程序加载。我将向您展示代码和错误。 加载一个简单的脚本工作: 从烧瓶应用程序加载时抛出错误: 错误: 我使用的是textblob版本0.11。0与pip一起安装。
问题内容: 为什么会出现此错误?我很困惑。 你需要知道什么才能回答我的问题? 问题答案: 是一个包含的模块。 你需要执行以下操作: 这就是错误消息的含义: 它表示为,因为你的代码正在调用模块对象。模块对象是导入模块时得到的东西的类型。你试图做的是在模块对象中调用恰好与包含它的模块同名的类对象。 这是一种从逻辑上分解这种错误的方法: “ 告诉我我的代码试图调用无法调用的内容。我的代码试图调用什么?”