pycharm问题
- bad operand type for unary +: 'str'
字符串相加时多了额外的逗号。
正确的应该是下面这样:
“股票名:" + share.name + "当前价格:" + str(share.price)
也就是逗号后不能紧跟着+号。
-
Unused import statement解决方法
这个并不是报错,只是提示当前代码中没有用到这个包而已,后面的代码用到这个包的话,它会自动恢复高亮的
-
pycharm import cx_Oracle模块引发的No module named 'custom_exceptions'
E:\python\learn_python1\venv\Scripts\python.exe E:/python/learn_python1/cx_Oracle_test1.py
Traceback (most recent call last):
File "E:/python/learn_python1/cx_Oracle_test1.py", line 1, in <module>
import cx_Oracle as cx
File "E:\python\learn_python1\venv\lib\site-packages\cx_Oracle\__init__.py", line 10, in <module>
from custom_exceptions import Warning, Error, InterfaceError, DatabaseError, DataError, OperationalError, IntegrityError, InternalError, ProgrammingError, NotSupportedError
ModuleNotFoundError: No module named 'custom_exceptions'
Process finished with exit code 1
因为最开始在pycharm上查找cx_Oracle模块的时候没有找到,就随便安装了一个cx_oracle_on_ctypes模块,后面了解到pycharm上cx_Oracle模块的名字是cx-Oracle,然后重新安装,就报了提问的那个错误。刚刚测试了一下,把该项目下的cx_oracle_on_ctypes这个模块删除了,然后import cx_Oracle就正常了。
4.无法保存问题,一般为未经管理员权限登录所致。
5.TypeError: 'type' object is not subscriptable
for
i
in
range
(
2000
):
read_lines
=
random.shuffle(read_lines)
# 问题出在这里了
print
(read_lines)
咋一看是没啥问题,但是一运行就报错
TypeError:
'NoneType'
object
is
not
subscriptable
解决方案
把上面一行赋值语句改掉就好了
for
i
in
range
(
2000
):
random.shuffle(read_lines)
print
(read_lines)
content_list
=
[]
a=int(input('请输入a值:'))
print('您输入的a=',a)
b=int(input('请输入b值:'))
print('您输入的b=',b)
print('a+b=',a+b);
7.NameError: name 'null' is not defined
- 原因:将字符串转为字典时,存在null值
ret = '{"createdAt":"","updatedAt":"", "dataSets":null}'
ret = eval(ret)
print(ret)out:
ret = eval(ret)
File "<string>", line 1, in <module>
NameError: name 'null' is not defined
解决办法,使用json.loads()函数:将json格式数据转换为字典,存在null时,转为None
import json
ret = '{"createdAt":"","updatedAt":"", "dataSets":null}'
ret = json.loads(ret)
print(ret)
print(type(ret))
out:
{'createdAt': '', 'updatedAt': '', 'dataSets': None}
<class 'dict'>
9.python中出现invalid syntax报错的几种原因
- 符号使用不正确 例如:只写了半个括号,使用了中文符号等
有些解释器会有自动补全符号的功能。有些则没有,这时对于新手朋友要特别注意,在写成对的符号时(例如括号、引号等)一定要一次把一对符号写完,再在符号中填写内容,避免因这种情况出现bug,后续检查花费大量时间。
- 代码缩进问题
python是一种严格依赖缩进的语言,如果缩进不正确或缩进格式不统一,一般错误信息会明确告诉你,但有时也会出现invalid syntax报错。
所谓缩进不正确,python的缩进是四个空格或一个TAB,如果缩进三个空格,一定报错
所谓缩进格式,即不能空格和TAB混用。如果不清楚是否存在混用,可以使用sublime统一调整即可。
10.sql判断字段是否为空
sql语句条件查询时,有时会判断某个字段是否为空。
字段内容为空有两种情况
1.为null
2.为字符串的空''
语句如下:
select * from table where column is null or trim(column)=''
这样就可以排除字段内容为null、''的。
判断某个字段不为空
select * from table where trim(column) != ''
曾经尝试判断null:is not null.但是不起作用,放弃。。。直接 trim(column) != '' 就能解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通