暴力查看类对象
dir([object=None])
显示类所有类的方法
暴力查看当前想获取的属性值
import pdb
pdb.set_trace() # 设置断点
- 交互式调试
在 pdb 的交互式调试模式中,可以使用一系列命令来检查变量、执行代码和探查程序状态。
以下是一些常用的 pdb 命令:
n:单步执行代码,不进入函数内部。
s:单步执行代码,进入函数内部。
c:继续执行代码,直到下一个断点。
q:退出调试模式。
p variable:打印变量的值。
pp expression:打印表达式的值。
pip3
如果把python的目录全部搞走了,换到了其他目录
那么pip3是找不到路径的。
需要编辑pip3文件
修改第一行为python执行文件的绝对路径
vim pip3
---
python打印当前所在行
import inspect
def print_current_line():
current_line = inspect.currentframe().f_lineno
print("Current line:", current_line)
print_current_line()
循环写入一个文件内容,又不立即关闭文件
#!/usr/bin/python
# -*- coding: UTF-8 -*-
try:
# 打开文件
# for 循环进行写入。
fo = open("json.txt", "wb")
print "文件名为: ", fo.name
# 刷新缓冲区
fo.flush()
# 关闭文件
finally:
fo.close()
out=(sys.stdout, sys.stderr)
outParm=out[1]
def EchoAndNote(str, ourParm, printendchar = "\n", writeendchar = "\n"):
print(str, end=printendchar, file=outfile)
outfile.flush()
if _logs_dir != None:
with open(_logs_dir + "/run.log", "a+") as f:
f.write(str + writeendchar)
input没人维护了,readline也经常出问题。我真的服气
找了个很牛逼的第三方模块。
from prompt_toolkit.key_binding import KeyBindings
from prompt_toolkit import prompt
def main():
# We start with a `KeyBindings` for our extra key bindings.
bindings = KeyBindings()
# We add a custom key binding to space.
@bindings.add(" ")
def _(event):
"""
When space is pressed, we check the word before the cursor, and
autocorrect that.
"""
b = event.app.current_buffer
w = b.document.get_word_before_cursor()
if w is not None:
if w in corrections:
b.delete_before_cursor(count=len(w))
b.insert_text(corrections[w])
b.insert_text(" ")
# Read input.
text = prompt("Say something: ", key_bindings=bindings)
print("You said: %s" % text)
main()