pycharm+python使用中的相关问题一

1.pycharm中自动b添加作者、日期和时间

在pycharm中操作如下:
File-》Settings-》Editor-》File and Code Templates->Python Script

# -*- coding:utf-8 -*-
# author_='ting.chun'
# date:${DATE} ${TIME}

2.PyCharm中遇到TabError: inconsistent use of tabs and spaces in indentation时怎么办?
方法一:Code->Reformat Code
方法二:快捷键Alt+Ctrl+L
3.连接数据库时报错“AttributeError: ‘NoneType’ object has no attribute ‘encoding’”
解决办法:将下面部分的utf-8改为utf8
self.db=pymysql.connect(self.db_host,self.username,self.pw,self.dbname,self.port,charset='utf-8')
4.运行时报ModuleNotFoundError: No module named ‘main.read_config’; ‘main’ is not a package错误
在每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。
5.python中的模块(Module)和包(Package)的区别
一个.py文件就称之为一个模块(Module)
Python又引入了按目录来组织模块的方法,称为包(Package),每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。
6.json.dumps()和json.loads()用法
json.dumps()的作用主要是将dict格式转化为json字符串
json.loads()主要是将字符串转化为dict
例如:如果从excel中读取一个json字符串时,如果要转化为post请求的json格式,可以用json.dumps(json.loads(data))
一个 python 的字符串转为字典
user_info = '{"name" : "john", "gender" : "male", "age": 28}'
方法一:json.loads(user_info)
注意:由于 json 语法规定 数组或对象之中的字符串必须使用双引号,不能使用单引号 (官网上有一段描述是 “A string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes” ),因此下面的转换是错误的:
user_info = "{'name' : 'john', 'gender' : 'male', 'age': 28}",如果使用json.loads(user_info)会报错

方法二:eval或者ast.literal_eval
 ast.literal_eval(user)
#:使用 ast.literal_eval 进行转换既不存在使用 json 进行转换的问题,也不存在使用 eval 进行转换的 安全性问题,因此推荐使用 ast.literal_eval。

注意:
sr=‘{‘code’: 0, ‘message’: ‘操作成功’, ‘data’: {‘ret’: false’talks’: None, ‘coors’: null}}’
上面使用ast.literal_eval(sr)会报错,主要再python中null->None,false->False,true->True

7.pycharm 中代码左右缩进
1、pycharm使多行代码同时缩进
   鼠标选中多行代码后,按下Tab键,一次缩进四个字符
2、pycharm使多行代码同时左移
  鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符
8.python中os模块使用
import os
os.listdir(path) #列出该目录下的文件和目录
os.path.isfile(file) #判断该file是不是文件
os.remove(file) #删除文件
9.将字符串unicode转换为中文 “\u4eba\u5de5\u667a\u80fd”
方法一:text.encode('utf-8').decode("unicode_escape")
方法二:在json.dumps中加ensure_ascii,设置ensure_ascii=False,   json.dumps(text,ensure_ascii=False)
 原因:
1. Python 3已经将unicode作为默认编码
2. Python 3中的json在做dumps操作时,会将中文转换成unicode编码,并以16进制方式存储,再做逆向操作时,会将unicode编码转换回中文
这就解释了,为什么json.dumps操作后,得到的字符串是\uXXXX。
json dump有一个ensure_ascii参数,默认为True,当它为True的时候,所有非ASCII码字符显示为\uXXXX序列,只需在dump时将ensure_ascii设置为False即可,此时存入json的中文即可正常显示
10.在使用pytest执行测试用例时,有的test用例设计数据库的增删改查,test方法通过pymysql查询数据一直为空,实际从mysql客户端查询时,数据库是有值的。
原因:mysql的默认存储引擎是innodb,且innodb中的默认隔离级别为repeatable read,它可以防止任何被查询的行被其他事务更改,从而阻止了不可重复的读取,而不是幻读取。它使用的是中度的锁定策略,以便事务内的所有查询都会查看统一快照中的数据,即数据在事务开始时的数据。
解决办法:
方案一:修改事务的级别
方案二:每次查询都更新事务
1.每次查询后进行commit操作,进行事务更新
2.创建connect连接时,autocommit=True,自动进行commit提交
方案三:关闭数据库的事务
参考:https://www.jianshu.com/p/933dbf51eb52
11.在pycharm中拉去gitlab代码时出现:fatal:Authentication failed的问题
原因:可能是登录gitlab的密码更改过了,本地没有进行更新
解决办法:
1.清楚系统保存的密码:
git config --global --unset credential.helper
2.设置密码自动保存,将下次弹框的账号和密码保存起来,永久使用
git config --global credential.helper store
3.设置默认账户和邮箱
git config --global user.name developer
git config --global user.email developer@qq.com
12.在pycharm中设置以pytest的方式去执行测试用例

1.pycharm-》preferences-〉Tools-》python integrated tools
Testing
Default test runner :pytest请添加图片描述

13.ios系统下pycharm下载路径

https://zhuanlan.zhihu.com/p/495505174

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值