精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何在VS Code 中調(diào)試 Python 腳本?

譯文
開發(fā) 開發(fā)工具 后端
通常,我們盡最大努力編寫符合我們要求的代碼,不過,大多數(shù)情況下,代碼在第一次運(yùn)行時(shí)都會(huì)報(bào)錯(cuò),或者根本不工作,這時(shí)就需要調(diào)試代碼。調(diào)試是檢測(cè)和刪除代碼中的錯(cuò)誤或非預(yù)期行為的過程。

【51CTO.com快譯】

調(diào)試是檢測(cè)和刪除代碼中的錯(cuò)誤或非預(yù)期行為的過程,代碼可能會(huì)返回一些東西(我們想要的或不想要的) ,也可能根本不會(huì)工作,并在執(zhí)行過程中拋出一些錯(cuò)誤。那么當(dāng)我們?cè)诖a中發(fā)現(xiàn)一個(gè) bug 時(shí)會(huì)發(fā)生什么呢?

在 Jupyter Notebooks 中,我們可以將代碼分割成更多的單元,并按順序執(zhí)行它們以檢查每個(gè)步驟。我們還可以在代碼中放入許多 print 語句,只是為了看看是否一切都按計(jì)劃進(jìn)行。或者,我們可以使用一些神奇的命令,比如 % debug來打開Jupyter Notebook 的交互式調(diào)試器窗口。

最后一種方法與我們調(diào)試 Python 腳本的方法非常相似。在本文中,我將展示如何使用 VS Code 快速有效地調(diào)試 Python 腳本。最好的情況是,你可以將這些方法應(yīng)用于任何代碼。

在 VS Code 中調(diào)試

讓我們直接進(jìn)入調(diào)試。首先,我們需要寫一些代碼。可以用下面簡(jiǎn)化的腳本完成這項(xiàng)工作。演示時(shí)可以看到代碼上出了什么問題,以及代碼什么時(shí)候會(huì)立即拋出錯(cuò)誤。

import pandas as pd

df = pd.DataFrame(data={"id": ['a', 'b', 'c'],
"value": [1, 2, 3]})

def multiply_value(df, multiplier):
df = df.copy()
df["value"] = df["value"] * multiplier

multiplier_list = [1, 2, "3"]

for mult in multiplier_list:
multiply_value(df, mult)

第一步是打開 VS Code,導(dǎo)航到我們想要設(shè)置項(xiàng)目的目錄,創(chuàng)建一個(gè)新的腳本,然后粘貼上面的代碼。

點(diǎn)擊窗口右上角的運(yùn)行按鈕(或者右鍵單擊編輯器窗格中的某個(gè)地方并選擇“ Run Python File in Terminal”)在終端中運(yùn)行腳本。我們可以在得到運(yùn)行結(jié)果。

??

我們可以嘗試從這里解決它,或者直接進(jìn)入調(diào)試階段。


??

我們可以看到窗格填充了預(yù)期的信息。此外,在出現(xiàn)錯(cuò)誤的地方彈出的屏幕,連同其類型和一些額外的信息。這對(duì)于確定 bug 有很大幫助。讓我們看一下錯(cuò)誤發(fā)生的函數(shù),在這里,我們可以看到乘數(shù)的值為“3” ,而它應(yīng)該是一個(gè)數(shù)字才能完成乘法工作。

雖然這個(gè)事例情況很簡(jiǎn)單,因?yàn)槲覀冏约憾x了列表,但在更復(fù)雜的腳本中,它可能真的很容易丟失每個(gè)變量所存儲(chǔ)的內(nèi)容。特別是當(dāng)值從其他地方填充時(shí),例如,數(shù)據(jù)庫。

??

調(diào)試控制臺(tái)與終端不同,在終端中,我們只能看到打印/日志和腳本中斷時(shí)的錯(cuò)誤消息,而在調(diào)試控制臺(tái)中,我們可以交互式地工作并探索變量。每當(dāng)調(diào)試器遇到斷點(diǎn)或發(fā)生錯(cuò)誤時(shí),在調(diào)試控制臺(tái)中,我們可以在該步驟上使用變量的當(dāng)前狀態(tài)執(zhí)行命令。上圖中,我們檢查了 mult 變量的當(dāng)前值,打印了 df 并檢查了我們是否真的可以將列乘以3。

這個(gè)功能在腳本崩潰時(shí)非常有用。例如,我們可以在調(diào)試控制臺(tái)中運(yùn)行以下命令:

df[“value”] * “3”

觀察我們之前遇到過的相同的錯(cuò)誤。雖然這可以幫我們調(diào)試腳本,但是在調(diào)試更復(fù)雜的案例時(shí),了解更多的方法是很有幫助的。

斷點(diǎn)類型

VS Code提供了三種類型的斷點(diǎn),每種都有不同的用途。要選擇它們,我們首先創(chuàng)建一個(gè)普通的斷點(diǎn),然后右鍵單擊它并選擇“Edit breakpoint…”。

  • Expression——當(dāng)條件滿足時(shí),斷點(diǎn)將觸發(fā)并停止代碼的執(zhí)行。在下圖中,我們將條件設(shè)置為mult == 2。在variables窗格中,我們確實(shí)可以看到代碼在滿足條件時(shí)停止執(zhí)行。此外,表達(dá)式斷點(diǎn)的特征是在其紅點(diǎn)處有“=”。

??

  • Hit Count——斷點(diǎn)會(huì)在代碼被觸發(fā)X次時(shí)停止執(zhí)行。例如,我們可以將這個(gè)斷點(diǎn)放在For循環(huán)中,并將其值指定為2。通過這樣做,代碼將停止在與上面的表達(dá)式斷點(diǎn)相同的位置。
  • Log Message——與前兩種類型的斷點(diǎn)不同,這種斷點(diǎn)不會(huì)停止代碼的執(zhí)行。它可以用于在調(diào)試控制臺(tái)中將一些消息打印到日志中。我們已經(jīng)將消息指定為Current mult: {mult},并且它確實(shí)在控制臺(tái)中打印出來了。注意,代碼中要計(jì)算的表達(dá)式(一個(gè)變量)需要放在花括號(hào)中。正如我們所看到的,在預(yù)期錯(cuò)誤發(fā)生之前,代碼的執(zhí)行并沒有被破壞。


??

當(dāng)然,您也可以通過右鍵單擊并選擇“禁用斷點(diǎn)”來臨時(shí)禁用一個(gè)斷點(diǎn)。

調(diào)試配置文件

調(diào)試配置在調(diào)試會(huì)話期間驅(qū)動(dòng) VS 代碼的行為。配置在 launch.json 文件中定義,該文件存儲(chǔ)在。我們工作區(qū)的 vscode 文件夾。要訪問 JSON 文件,我們可以在 VS Code 中首次打開調(diào)試窗口時(shí)單擊“ create a launch.JSON file” ,或者只需單擊用于啟動(dòng)調(diào)試會(huì)話的綠色播放按鈕旁邊的“ gear”圖標(biāo)。

使用配置文件我們可以做什么?設(shè)置環(huán)境變量是一個(gè)經(jīng)常派上用場(chǎng)的例子。假設(shè)我們的代碼是使用某個(gè)調(diào)度程序部署和運(yùn)行的,例如,Airflow (遠(yuǎn)不止這些,但是現(xiàn)在我們假設(shè)這樣的簡(jiǎn)化是可以接受的)。然后,我們使用一組 env 變量來控制腳本的行為。例如,在 ETL 腳本中,我們可以使用 env 變量來控制是否擴(kuò)展特性。

當(dāng)我們嘗試在本地調(diào)試代碼時(shí),我們的系統(tǒng)中不會(huì)有那些 env 變量,因?yàn)樗鼈兪怯蓺饬魈幚淼摹R虼耍环N選擇是在全球范圍內(nèi)增加這些措施,但這可能導(dǎo)致以后出現(xiàn)混亂。或者,我們可以使用 launch.json 配置文件為調(diào)試環(huán)境提供一組 env 變量。

為此,我們按下“ gear”圖標(biāo)來打開文件,并通過添加第10行的內(nèi)容來修改它。

{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {"RUN_TYPE": "prod"},
}
]
}

當(dāng)我們運(yùn)行下一個(gè)調(diào)試會(huì)話時(shí),我們可以直接訪問 RUN _ type env 變量。

結(jié)語

在本文中展示了如何快速使用 VS Code 來調(diào)試 Python 腳本。使用本文中提到的幾種技術(shù),您可以快速縮小潛在錯(cuò)誤的來源,并在交互式調(diào)試控制臺(tái)中嘗試不同的修復(fù)方法。

如果你沒有在工作中遇到過調(diào)試腳本,學(xué)會(huì)這種技能是非常重要的。雖然本文是特定于 VS Code 的,但大多數(shù) ide (例如 PyCharm)都提供了類似的功能集。

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:黃顯東
相關(guān)推薦

2016-12-16 09:23:29

LinuxShell腳本

2016-12-20 09:30:22

shell腳本linux

2023-07-10 12:11:50

TypeScripChrome識(shí)別

2009-06-02 10:02:50

eclipse jboeclipse jbojboss for e

2015-09-01 11:40:21

LinuxVisual Stud

2018-02-01 17:32:30

LinuxUNIXBash Shell

2017-01-18 20:38:36

LinuxShell腳本命令

2021-07-27 10:18:21

R語言視覺工作室代碼分析

2023-04-04 07:52:26

RedisLua腳本

2021-02-05 09:18:33

VS CodeVim操作

2022-11-17 10:23:13

VS CodeCodiumPython

2021-08-20 10:46:25

Shell腳本文件Linux

2021-04-21 08:03:34

腳本Shell讀取

2022-03-11 08:32:53

C代碼代碼編輯vscode

2023-10-19 14:52:27

2018-09-08 09:25:05

編程語言PythonVS Code

2018-10-10 14:21:06

Python 工具程序員

2020-02-25 14:38:05

代碼開發(fā)工具

2021-08-22 17:22:31

VS Code容器開發(fā)人員

2021-03-30 11:33:45

云計(jì)算微服務(wù)云應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

色综合咪咪久久| 国内国产精品久久| 亚洲丝袜一区在线| 成人日韩在线视频| 肉肉视频在线观看| 国产午夜精品理论片a级大结局| 国产精品视频自在线| 国产精品九九九九九九| 亚洲欧洲美洲国产香蕉| 欧美乱妇15p| 久在线观看视频| 1024视频在线| 国产成人av一区二区三区在线观看| 91精品国产沙发| 99热99这里只有精品| 欧美电影完整版在线观看| 欧美日韩一区二区三区四区五区| 欧美国产综合在线| 在线免费观看黄色av| 波多野结衣在线aⅴ中文字幕不卡| 国产成人av在线| 久久无码精品丰满人妻| 日本电影一区二区| 亚洲精品98久久久久久中文字幕| 一级做a免费视频| 夜鲁夜鲁夜鲁视频在线播放| 1024国产精品| 日韩在线三区| 天堂在线中文| 粉嫩av亚洲一区二区图片| 国产精品久久久久久婷婷天堂| 18精品爽视频在线观看| 我不卡手机影院| 亚洲性猛交xxxxwww| 日本美女视频网站| 国产精品国产亚洲精品| 欧美视频日韩视频在线观看| www在线观看免费| 国产秀色在线www免费观看| 国产欧美日韩精品在线| 国产伦精品一区二区三区视频孕妇| 亚洲视频中文字幕在线观看| 乱码第一页成人| 久久久久久尹人网香蕉| 欧美卡一卡二卡三| 在线观看国产精品入口| 久久精品一偷一偷国产| 色撸撸在线视频| 成人av国产| 亚洲精品久久久久国产| 免费日本黄色网址| 国产精品2023| 日韩一级片在线播放| 不用播放器的免费av| 黄色国产小视频| 国产寡妇亲子伦一区二区三区四区| 欧美视频福利| 久久久久久久久久久成人| 精品无码久久久久久久久| 欧美激情五月| 九九九热精品免费视频观看网站| 91成人福利视频| 欧美日韩在线大尺度| 欧美精品999| 可以在线观看av的网站| 亚洲综合不卡| 日韩免费在线免费观看| www.亚洲激情| 精品一区二区免费在线观看| 91欧美精品午夜性色福利在线| 国产女人高潮的av毛片| 国产福利精品一区| 国产伦精品一区| 涩涩视频在线观看免费| 国产欧美日韩另类视频免费观看| 亚洲三级一区| 新版中文在线官网| 亚洲大尺度视频在线观看| 国产成人精品视频免费看| 成人开心激情| 在线观看91精品国产麻豆| 国产a级片免费观看| 亚洲精品tv| 精品欧美一区二区三区精品久久| 加勒比精品视频| 欧美日韩亚洲在线观看| 久久这里只有精品视频首页| 国产一级特黄视频| 老司机亚洲精品| 成人情趣片在线观看免费| 亚洲精品久久久久avwww潮水| 97久久超碰精品国产| 色一情一乱一伦一区二区三欧美| a毛片在线观看| 午夜精品123| 五月婷婷六月合| av自拍一区| 在线激情影院一区| 国产一级一级片| 日韩不卡一区二区三区| 亚洲伊人久久综合| 黄色小视频在线免费观看| 亚洲乱码中文字幕| av天堂永久资源网| 精品国产亚洲一区二区三区大结局 | 人妻久久一区二区| 性xx色xx综合久久久xx| 亚洲影院色在线观看免费| 三级在线视频| 亚洲乱码中文字幕| 超碰在线播放91| 日韩黄色三级视频| 韩国三级大全久久网站| 日韩精品日韩在线观看| 欧美老熟妇一区二区三区| 久久久青草婷婷精品综合日韩| 91精品视频专区| 精品久久久久一区二区三区| 一区二区三区小说| xxx国产在线观看| 日韩成人动漫在线观看| 久久99视频免费| 一本一道精品欧美中文字幕| 久久综合999| 国产va亚洲va在线va| 粉嫩一区二区三区在线观看| 亚洲欧美日韩精品久久| 国产在线欧美在线| 国产一区二区精品久久99| 日韩在线三区| 免费观看亚洲| 亚洲电影免费观看高清| 午夜爽爽爽男女免费观看| 日韩av电影免费观看高清完整版| 国产伦精品一区二区三区视频孕妇 | 国产在线观看一区二区| 日韩电影大全在线观看| 成人影院入口| 日韩成人在线电影网| 国产无遮挡又黄又爽又色| 国产不卡在线播放| 热这里只有精品| 亚洲午夜剧场| 日韩视频免费看| 一个人看的www日本高清视频| 日本一区二区三区在线不卡| aa免费在线观看| 亚洲人成伊人成综合图片| 91精品国产色综合久久不卡98| 六月婷婷中文字幕| 亚洲高清免费在线| 97中文字幕在线观看| 国产精品jizz在线观看美国| 91九色国产在线| 黄色在线视频网站| 经典三级一区二区| 91久久精品一区二区三| 四虎影成人精品a片| 久久经典综合| 婷婷精品国产一区二区三区日韩| 日韩一级二级| 色噜噜狠狠狠综合曰曰曰| 一级特黄aa大片| 亚洲欧洲中文日韩久久av乱码| 毛片毛片毛片毛片毛| 欧美日韩免费观看一区=区三区| 91成人免费看| 超碰97国产精品人人cao| 亚洲电影在线观看| 无码人妻精品一区二区| 国产精品视频九色porn| 国产一级免费大片| 在线不卡欧美| 欧美成人在线免费观看| 国产亚洲欧美日韩精品一区二区三区 | 久久久久日韩精品久久久男男| 蜜桃视频污在线观看| 午夜精品视频一区| 日本精品在线观看视频| 精品在线你懂的| av女优在线播放| 国产午夜一区| 国产日韩专区在线| av小说在线播放| 亚洲美女视频网| 亚洲熟妇无码久久精品| 一区二区三区精品在线| 午夜理伦三级做爰电影| 精品在线亚洲视频| 少妇高潮毛片色欲ava片| 精品国产中文字幕第一页| 91久久久久久久久久| 91黄页在线观看| 在线电影欧美日韩一区二区私密 | 亚洲国产天堂久久国产91| 日韩精品一区不卡| 136国产福利精品导航| 在线精品一区二区三区| 激情综合色播五月| 男人天堂1024| 亚洲高清影视| 欧美男人的天堂| 一区二区亚洲视频| 国产精品久久色| 999福利在线视频| 精品久久久91| 免费a在线观看| 欧美电影免费提供在线观看| 嫩草影院一区二区三区| 亚洲一区二区三区四区五区中文| 午夜时刻免费入口| 成人美女在线观看| 男生操女生视频在线观看| 一区二区三区成人精品| 亚洲最新视频在线播放| 又黄又爽又色的视频| 狂野欧美一区| 欧美视频免费看欧美视频| 五月天综合网站| 欧美一区二区福利| 理论片一区二区在线| 亚洲综合小说区| 成人在线观看免费播放| 欧美一区深夜视频| 欧美亚洲系列| 久久资源免费视频| √天堂资源地址在线官网| 亚洲乱码国产乱码精品精天堂| 精品人妻一区二区三区麻豆91| 在线日韩国产精品| 亚洲天堂视频网站| 五月综合激情网| www.av视频在线观看| 尤物av一区二区| www.xxxx日本| 亚洲色图第一区| 中文字幕乱码av| 国产精品久久99| 高清国产在线观看| 国产亚洲精品福利| 高潮毛片无遮挡| 久久久精品tv| 亚洲黄色小说视频| 国产视频911| 中文字幕av观看| 久久免费国产精品| 国产激情在线免费观看| 久久综合色婷婷| 毛片网站免费观看| 久久精品亚洲麻豆av一区二区| 黄色a一级视频| 久久新电视剧免费观看| 中国毛片在线观看| 久久久久久久久久久黄色| 好吊视频在线观看| 国产丝袜在线精品| 国产成人免费观看网站| 国产精品毛片高清在线完整版| 免费一级suv好看的国产网站| 中文字幕免费不卡在线| 成年人看的免费视频| 亚洲欧美综合另类在线卡通| 国产喷水在线观看| 亚洲精品日产精品乱码不卡| 男人操女人的视频网站| 亚洲尤物在线视频观看| 亚洲国产成人精品激情在线| 同产精品九九九| 中文字幕一区在线播放| 欧洲人成人精品| 97精品人妻一区二区三区香蕉| 91精品国产欧美日韩| 丰满人妻一区二区三区四区53| 亚洲国产精品推荐| 久久久久久青草| 久久精品成人一区二区三区 | 欧美激情图片区| av蜜臀在线| 国产福利视频一区二区| 91精品一久久香蕉国产线看观看| 99理论电影网| 美女亚洲一区| 可以在线看黄的网站| 中文精品在线| www.国产福利| 91原创在线视频| 国产视频不卡在线| 亚洲精品福利视频网站| 午夜精品久久久久久久久久久久久蜜桃| 色婷婷精品久久二区二区蜜臀av | 日韩成人黄色av| 福利片在线看| 欧美日韩成人免费| 吞精囗交69激情欧美| 91精品中文在线| 在线日本制服中文欧美| 91社在线播放| 香蕉久久夜色精品国产| 成人免费黄色av| 国产亚洲一区二区三区在线观看| www.97视频| 色综合天天综合在线视频| 国产福利视频导航| 亚洲天堂视频在线观看| a毛片不卡免费看片| 成人黄色免费网站在线观看| 网红女主播少妇精品视频| 波多野结衣激情| 日韩高清在线不卡| 国产一级黄色录像| 亚洲天堂久久久久久久| 天天干天天操天天操| 亚洲大胆美女视频| а√天堂官网中文在线| 国产精品wwww| 青青操综合网| 999一区二区三区| 久久国产成人午夜av影院| 国产精品成人一区二区三区电影毛片| 亚洲欧美偷拍另类a∨色屁股| 男人的天堂av网站| 精品视频在线观看日韩| 3344国产永久在线观看视频| 92国产精品久久久久首页 | 中文字幕免费国产精品| av影院在线免费观看| 亚洲综合小说区| 久久综合国产| 91蝌蚪视频在线观看| 久久亚洲二区三区| 久久久久久久久久久久久久av| 日韩视频一区二区三区| 黄色网页在线播放| 国产日韩在线观看av| 国产区精品区| 青青在线视频免费| 91亚洲精品久久久蜜桃| 日本在线小视频| 亚洲第一视频网| 丁香影院在线| 国产传媒欧美日韩| 国产一区二区中文| 在线播放第一页| 亚洲午夜影视影院在线观看| www日本视频| 欧美日本啪啪无遮挡网站| 91蝌蚪精品视频| 日韩精品综合在线| av福利精品导航| 国产又色又爽又黄的| 精品网站999www| 吞精囗交69激情欧美| 亚洲精品电影在线一区| 麻豆精品新av中文字幕| 中文字幕美女视频| 日韩欧美一区在线| 免费网站在线观看人| 国产伦一区二区三区色一情| 亚洲激情专区| www.色天使| 欧美日韩免费观看一区二区三区| 日本中文字幕视频在线| 成人亚洲激情网| 精品动漫一区| 亚洲午夜久久久久久久久红桃 | 国产特黄一级片| 色综合久久天天综线观看| 粉嫩av一区二区| 缅甸午夜性猛交xxxx| 久久青草欧美一区二区三区| 久久久999久久久| 久久久国产一区二区| 澳门久久精品| 国产成人久久777777| 中文字幕一区二区三区在线播放| 国产三级按摩推拿按摩| 久久久亚洲国产| 国产欧美日韩| 无套白嫩进入乌克兰美女| 婷婷夜色潮精品综合在线| aⅴ在线视频男人的天堂| 91久久精品日日躁夜夜躁国产| 影音先锋日韩资源| 精品成人无码一区二区三区| 欧美一区二区视频网站| bbw在线视频| 亚洲区一区二区三区| 国产老肥熟一区二区三区| 欧美一级特黄视频| 日韩在线不卡视频| 老司机在线精品视频| 亚洲视频一二三四| 午夜精品久久久久久久久| 91精品大全| 国产精品久久国产精品| 蜜臀久久99精品久久久久久9 | 国产91亚洲精品一区二区三区| 欧美中文日韩| 欧美成人综合色| 伊人久久久久久久久久|