pycharm+python使用中的相關問題

chuntingting發表於2020-10-24
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。

相關文章