Python task
任务概览
任务类型 | 任务内容 | 预计耗时 |
---|---|---|
闯关任务 | Python实现wordcount | 15mins |
闯关任务 | Vscode连接InternStudio debug笔记 | 15mins |
本次两个任务均完成
Python实现wordcount
思路:
(1)去除标点符号+小写单词
(2)转换为list并且遍历,使用dict统计出现词汇频率
text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
import re
import string
def clean_and_lower(text):
# 使用正则表达式替换掉所有标点符号
no_punctuation = re.sub('[' + re.escape(string.punctuation) + ']', '', text)
# 将所有字符转换为小写
lower_case = no_punctuation.lower()
return lower_case
def wordcount(text):
map = {}
text = clean_and_lower(text)
list_text = text.split()
# print(list_text)
for item in list_text:
if item not in map:
map[item] = 1
else:
map[item] +=1
return map
if __name__ == "__main__":
res = wordcount(text=text)
print(res)
vscode-debug作业
在简单的python文件中debug可以直接使用vscode的按键实现,对应如下:
如果我们要debug的不止是一个简单的python文件,而是很多参数,参数中不止会有简单的值还可能有错综复杂的文件关系,甚至debug一整个项目。这种情况下,直接使用命令行来发起debug会是一个更好的选择。
远程调试的
debug命令行
现在vscode已经准备就绪,让我们来看看如何在命令行中发起debug。如果没有安装debugpy的话可以先通过pip install debugpy安装一下。
python -m debugpy --listen 5678 --wait-for-client ./myscript.py
./myscript.py可以替换为我们想要debug的python文件,后面可以和直接在命令行中启动python一样跟上输入的参数。记得要先在想要debug的python文件打好断点并保存。
--wait-for-client参数会让我们的debug server在等客户端连入后才开始运行debug。在这就是要等到我们在run and debug界面启动debug。
先在终端中发起debug server,然后再去vscode debug页面单击一下绿色箭头开启debug。
如何简化指令
在linux系统中,可以对 ~/.bashrc 文件中添加以下命令
alias pyd='python -m debugpy --wait-for-client --listen 5678'
然后执行
source ~/.bashrc
这样之后使用 pyd 命令(你可以自己命名) 替代 python 就能在命令行中起debug了,之前的debug命令就变成了
pyd ./myscript.py