Python学习之执行py脚本
交互式编程
什么事交互式编程?交互式可以理解为人喝电脑直接交流,像我们平时使用终端输入一些命令一样,就是我们和电脑在交流。
python的交互式编程,意思就是我们可以不使用脚本直接在终端输入python命令,只要系统安装了python环境,Python解释器的交互模式会被开启,我们可以直接使用这种模式。
终端中输入 Python 命令即可开启python的交互模式
➜ ~ python
WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
Python 2.7.16 (default, Dec 13 2019, 18:00:32)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print ("Hello, Python!")
Hello, Python!
我输入了python,出现了 >>> 便是已经开启了python的交互模式,在交互模式下直接输入命令,回车即可执行。
来自初学者的提问:这里报WARNING是怎么回事?可能是因为我的Mac OS自带的python版本是2.7,我自己安装的环境是python2.7.16?
脚本式编程
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。
所有 Python 文件将以 .py 为扩展名。
在PyCharm中执行py脚本
main()函数调用
def main():
print("你好,世界")
if __name__ == '__main__':
main()
打印如下:
/Users/dry/PycharmProjects/HelloWorld/venv/bin/python /Users/dry/PycharmProjects/HelloWorld/Test.py
你好,世界
Process finished with exit code 0
直接执行命令
print ("Hello, Python!")
打印如下:
/Users/dry/PycharmProjects/HelloWorld/venv/bin/python /Users/dry/PycharmProjects/HelloWorld/Test.py
你好,世界
Process finished with exit code 0
在终端中执行py脚本
python test.py
或者
./test.py
例如:
➜ ~ cd Desktop //cd到test.py文件所在目录
➜ Desktop python test.py //执行python命令
Hello, Python!
➜ Desktop ./test.py //使用./test.py执行脚本
zsh: permission denied: ./test.py
➜ Desktop chmod +x test.py
➜ Desktop ./test.py
./test.py: line 1: syntax error near unexpected token `"Hello, Python!"'
./test.py: line 1: `print ("Hello, Python!")'
➜ Desktop ./test.py
Hello, Python!
报权限问题的话使用 chmod +x test.py
添加脚本可执行权限。
注意:如果使用./test.py执行脚本,需要在脚本的第一行添加#!/usr/bin/python
,指定Python解释器路径,而且#!/usr/bin/python必须加在第一行,否则会报如下问题:
./test.py: line 3: syntax error near unexpected token `"Hello, Python!"'
./test.py: line 3: `print ("Hello, Python!")'
一些路径
Python解释器的默认路径:/usr/bin
Python工程默认路径:/Users/用户名/PycharmProjects/