标签:python
PyCharm设置参数
在运行Python脚本时,会经常遇到需要传入额外的参数来运行脚本。
例如下脚本1:
#!/usr/bin/env python2 # *.* coding:utf-8 *.* # @Time : 2017-10-17 15:44 # @Author : chengxiaomin # @File : 001.py # name = raw_input("Please input your name: ") # print ("Hello " + name) 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可以执行下一句,每次执行一句脚本,直到结束。
标签:python
原文地址:http://xiexiaoying.blog.51cto.com/3996899/1973857