Mac终端运行.py文件
Mac终端运行.py文件,分3步:¶
申明环境变量,在.py文件中第一行写入如下语句:¶
#!/usr/bin/python
注意:一般情况下,python二进制命令文件都是这个路径,如果不是,要修改.
赋权:在Mac终端中,先进入文件保存路径,再输入如下命令:¶
chmod +x 文件名.py
运行.py文件,输入如下命令:¶
./文件名.py
例如:¶
路径/Users/runyi/Desktop下有文件rb.py,用于获取当前螺纹钢期货2101合约价格.顺序操作如下:- 第一行加入环境变量申明:
#!/usr/bin/python import requests import re def get_price(): url = 'http://futsse.eastmoney.com/static/113_rb2101_mx/11?callbackName=zz&cb=zz&_=1595029466852' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'} r = requests.get(url,headers=headers) patt = re.compile(r'"p":(.*?),"uid"') a = patt.search(r.text) print('当前螺纹钢2101的价格是: ',a.group(1)) if __name__ == '__main__': get_price()
- 赋权:终端输入命令:
cd /Users/runyi/Desktop
和chmod +x rb.py
- 运行文件:
./rb.py
- 解码报错:SyntaxError: Non-ASCII character '\xe5' in file ./rb.py on line 12, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
- rb.py第二行加入解码申明:
# coding=utf-8
- 再次运行:
./rb.py
,再次报错:没有requests模块 - rb.py第一行
#!/usr/bin/python
修改为#!/usr/bin/env python
,再次运行./rb.py
- 成功!
小结:¶
主要涉及到2个问题,环境变量和解码,解码好说,加入coding=utf-8就可以,环境变量的设定稍微复杂点,光指定解释器为python还不行,必须是全局环境变量python,即env python.说这么多,其实照着撸一遍,见招拆招就能成功.