PyCharm参数、快捷键、调试模式

PyCharm设置参数

在运行Python脚本时,会经常遇到需要传入额外的参数来运行脚本。

例如下脚本1:

#!/usr/bin/env python2

# *.* coding:utf-8 *.*

import sys

print(sys.argv[0])

print(sys.argv[1])

运行结果:

F:/PycharmProjects/untitled2/001.py

Traceback (most recent call last):

File "F:/PycharmProjects/untitled2/001.py", line 12, in <module>

print(sys.argv[1])

IndexError: list index out of range

结果说明:

sys.argv[0]是指脚本其本身,那么则print脚本的绝对路径

sys.argv[1]是指脚本的第一个参数,而此脚本并没有参数传入,所以报错:IndexError: list index out of range

如果在shell环境下运行此脚本,则如下:

F:\PycharmProjects\untitled2>python 001.py Hello

001.py

Hello

说明:传入一个参数 Hello,print(sys.argv[1])这个参数,结果就如上

为了能更加方便的在PyCharm中直接运行传入参数的脚本,我们可以设置其运行参数,方法如下:

光标在需要运行的脚本里,按Alt + Shift + F10,会弹出此框,选择Edit Configurations...

点击 Edit Configuration,弹出如下选项

Script parameters即为需要传入的参数,多个参数之间用空格分开

修改脚本如下:

import sys

print(sys.argv[0])

print(sys.argv[1])

print(sys.argv[2])

print(sys.argv[3])

运行结果:

F:/PycharmProjects/untitled2/001.py

Hello

Jack

25

Pycharm快捷键

在PyCharm中有很多快捷键:

  Ctrl+C复制光标所在行,无需选中该行

  Ctrl+X剪切光标所在行,无需选中该行

  Ctrl+ / 多行代码快捷注释,选中多行,即可为所有的行前加上 #,再次按下,则会取消。

  Ctrl+D复制并粘贴光标所在行,选中多行,则复制并粘贴多行

  Ctrl+Shift+n快捷搜索项目中的某个文件

  Ctrl+Alt+I自动排列好脚本格式

如下脚本:

#!/usr/bin/env python

for x in xrange(5):

print x

File "F:/PycharmProjects/untitled2/001.py", line 17

for x in xrange(5):

^

IndentationError: unexpected indent

脚本中,for循环之前有多余的空格,导致程序执行报错,选中整个for循环语句,Ctrl+Alt+I自动排列好脚本格式。再次执行,可以得到正确的结果:

F:/PycharmProjects/untitled2/001.py

0

1

2

3

4

  Tab整体代码块缩进

  Shift+Tab取消整体代码块的缩进

  Shift+Enter无论光标在本行的哪个位置,即可以进入下一行进行新的代码编写,并且保持正确的缩进(对应的Ctrl+Enter,是向上一行)

  Alt+Enter快速引用系统模块

如:print(sys.argv[1])写这个语句时,忘记调用sys模块,此句就会有错误;光标放在错误处按Alt+Enter,选择Import 'sys',即可自动插入调用语句import sys:

正确调用:

import sys

print(sys.argv[0])

PyCharm的调试模式

首先,写一个简单的脚本并执行:

如图,可以正常执行完所有的语句。

假如,我们在日常代码编写过程中,需要逐句来排查代码的执行情况,那么就需要使用PyCharm的Debug模式。

在需要Debug的脚本中,点击需要暂停运行的行首,会出现如下图中的小红点。然后选择Debug模式:Shift+F9,或者点击绿色的小图标,然后会进入如下界面:

此时,脚本执行到第8行就会停止,在Console标签里可以看到结果:

如果要继续执行,则按F8可以执行下一句,每次执行一句脚本,直到结束。

pycharm 参数、快捷键、调试模式的更多相关文章

  1. flask调试模式

    想要启用调试模式,发现安装目前网上流行的两种方式均无法在Pycharm中打开调试模式. 1)直接在对象上设置 flask 更新到1.0以后 不支持使用debug =True 来开启调试模式了. Pri ...

  2. linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名

    PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  3. python 基础 1.3 使用pycharm给python传递参数及pycharm调试模式

    一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...

  4. Python_pycharm调试模式+使用pycharm给python传递参数

    一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...

  5. pycharm 的调试模式 MAC版

    进入调试模式 运行和调试快捷键 control +R 运行程序 control +alt +R 快速选择运行/调试配置并运行或编辑它 command +R 重新运行 control +R 重复执行相同 ...

  6. c# 调试模式下Swaggerf附加接口参数

    c# 调试模式下Swaggerf附加接口参数,如:每个接口Header中附加参数appId 1.新增过滤器: public class GlobalHttpHeaderFilter : IOperat ...

  7. Pycharm:debug调试时使用参数

    一种操作方法: 文章链接:MAC下使用Pycharm,debug调试时怎样带参数 今天在网上找了一个例子敲代码,因为我使用的是PyCharm,例子运行时需要带参数,开始不知道怎么带参数,网上搜了大半天 ...

  8. pycharm常用快捷键总结

    http://blog.csdn.net/pipisorry/article/details/39909057 在PyCharm /opt/pycharm-3.4.1/help目录下可以找到Refer ...

  9. pycharm常用快捷键

    Alt+Enter 自动添加包Ctrl+t SVN更新Ctrl+k SVN提交Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Ctrl+Enter 补全Shift + En ...

随机推荐

  1. Dart编程实例 - Dynamic 关键字

    Dart编程实例 - Dynamic 关键字 void main() { dynamic x = "tom"; print(x); } 本文转自:http://codingdict ...

  2. auth 模块使用篇

    from django.cintrib import auth #登录模块  只要用auth模块一旦登录 就可以在项目的任意地方用request.user 拿到当前的用户对象  再通过 request ...

  3. 埃氏筛+线段树——cf731F

    从2e5-1依次枚举每个数作为主显卡,然后分段求比它大的数的个数,这里的复杂度是调和级数ln2e5,即埃氏筛的复杂度.. #include<bits/stdc++.h> using nam ...

  4. 使用PaxScript为Delphi应用增加对脚本的支持

    通过使用PaxScript可以为Delphi应用增加对脚本的支持. PaxScript支持paxC,paxBasic,paxPascle,paxJavaScript(对ECMA-262做了扩展) 四种 ...

  5. CF 1082E Increasing Frequency(贪心)

    传送门 解题思路 贪心.对于一段区间中,可以将这段区间中相同的元素同时变成\(c\),但要付出的代价是区间中等于\(c\)的数的个数,设\(sum[i]\)表示等于\(c\)数字的前缀和,Max[i] ...

  6. PAT_A1130#Infix Expression

    Source: PAT A1130 Infix Expression (25 分) Description: Given a syntax tree (binary), you are suppose ...

  7. require.js实现单页web应用(SPA)

    本文转载自:https://blog.csdn.net/qq_33401924/article/details/53815922 移动端单页应用基本上是做移动端最流行的的方式了,但是对于很多前端来说, ...

  8. Android Telephony分析(七) ---- 接口扩展(异步转同步)

    本文是基于上一篇<Android Telephony分析(六) —- 接口扩展(实践篇)>来写的.上一篇介绍的接口扩展的方法需要实现两部分代码:1. 从APP至RIL,发送请求:2. 从R ...

  9. SB般的“WE战队”输掉了比赛

    事实再一次证明,对于LOL这种游戏,国服选手是根本就不能有一点期待的, 国服环境太好了,赢了可以吹,输了不能骂,自信心极度膨胀,估计WE俱乐部都没有个心理咨询师, 下岗了还可以再卖卖脸,卖卖饼, 国服 ...

  10. Vue双向数据绑定原理深度解析

    首先,什么是双向数据绑定?Vue是三大MVVM框架之一,数据绑定简单来说,就是当数据发生变化时,相应的视图会进行更新,当视图更新时,数据也会跟着变化. 在分析其原理和代码的时候,大家首先了解如下几个j ...