使用PyCharm进行python开发的简介
这个是很常见的一个问题,我想学习python,用什么编辑器呢?
eclipse+pydev?
IDLE?
vim?
每个人有自己的习惯,可能是自己琢磨的,也可能是前辈指导的,这里只分享自己孤陋寡闻琢磨的。
简单的小脚本,,直接vim或者IDLE上即可。
那请问怎么调试复杂一点儿的呢?还是用IDE吧,这里我没选eclipse,因为我讨厌它,个人情绪问题。
好吧,其实我是被PyCharm吸引住了,用的是社区版本。
参考:http://www.jetbrains.com/pycharm/
咱们不花时间对比哪个IDE好,习惯是最好的方式。
1. 因为我习惯用python3,默认是utf-8的格式,所以做了调整:
File->Settings->File Encodings
设置Project Encoding: UTF-8
2. 试着用用吧,来调试一个小小的c/s脚本
c.py#!/usr/local/bin/python3
#
from multiprocessing.connection import Client
if __name__ == "__main__":
s_ip = '127.0.0.1'
s_port = 15000
conn = Client((s_ip, s_port), authkey=b'123456')
print('Connect to: \n {0}:{1}'.format(s_ip, s_port))
while True:
try:
x = conn.recv()
print("GET: {0}".format(x))
except EOFError:
print('Why did you do an EOF on me?')
break
except KeyboardInterrupt:
print('You cancelled the operation.')
break
except WindowsError:
print('远程主机强迫关闭了一个现有的连接。')
break
except Exception as err:
print("[ERROR] {0}".format(err))
break
conn.close()
s.py#!/usr/local/bin/python3
#
from multiprocessing.connection import Listener
import time
s_ip = '0.0.0.0'
s_port = 15000
srv = Listener((s_ip, s_port), authkey=b'123456')
print('listen on: \n {0}:{1}'.format(s_ip, s_port))
def notify(x=10000, y=10000):
time.sleep(2)
for i in range(1,x):
for j in range (1,y):
try:
x = 'SEND: i={0},j={1}'.format(i,j)
print(x)
conn.send(x)
except EOFError:
print('[error] EOFError')
break
if __name__ == "__main__":
while True:
conn = srv.accept()
try:
notify()
except OSError:
print("[ERROR] IP或者端口已经被占用?")
conn.close()
先在s.py中下个断点:
右键菜单选择debug:
这是启动后在左下角的debugger和console窗口,注意左下角有个灰色的tools方框可以打开/关闭
3:Find 4:Run 5:Debug 6:TODO这类窗口。
好,现在以debug方式启动了s.py,接着我们直接启动c.py,同样是用鼠标右键的菜单:
脚本跑起来了,哔哔。。。++。。。到断点处停了下来,看图说话,很清楚的:
我手累了,按了一会儿F8,我们再看变成了啥样:
见笑了,常用的该有的都有。
Step Over (F8)
Step Into (F7)
Step Into My Code (Alt+Shift+F7)
Step Out (Shift+F8)
Run to Cursor (Alt+F9)
对了,c.py的输出呢?好吧,我们切到“4:Run”这个窗口来瞧瞧:
简介到此结束,希望身为初学者的你,越来越棒。