Python运行的方式

Python的运行方式多种多样,下面列举几种:

交互式

在命令行中输入python,然后在>>>提示符后面输入Python语句,这里需要注意:

1 语句前面不能有空格,否则会报错

2 对于符合语句,前面会有...提示符,结束符合语句的方法是按下Enter键

命令行运行文件

以命令行运行文件有两种形式:

1 将文件保存为.py,然后在命令行用python 文件名.py的方式运行

2 将文件当成shell脚本,以运行shell的方式运行,此时在文件第一行,需要写#!/usr/bin/python,用来告诉使用Python来运行下面的命令,但是为了可移植性,即#!后面不要写死python的目录(因为不同的机器,可能python所在的目录不一样),可以使用#!/usr/bin/evn python代替,evn会自动搜寻Python解析器的位置,在大多数Unix的shell中,搜寻的路径通常就是PATH环境变量中指定的目录

import语句

import语句导入Python模块(所谓模块,简单来看,就是.py结尾的Python文件)时,会将这个模块的语句执行一遍,因此,也可以使用import来执行Python命令,但是import在一个Python运行周期里面,对于同一个文件只会导入一次,也就是说也只会执行一次。

reload函数

reload函数可以对已经被import导入的文件执行多次(没有被导入的文件无法用reload执行),因此,reload也可以执行文件:

#假设script.py已经被导入过
from imp import reload
reload(script)

需要注意的是:

1 reload在Python2.X中是内置函数,但是是在Python3.X中,被移动到了imp模块里面

2 没有被import的模块,reload无法执行,上面已经提及

3 reload不具有传递性,即reload只会reload script.py本身,对于script.py内部import的模块,reload不会执行

exec函数

可以使用exec来执行Python文件:

exec(open("script.py").read())

需要注意的是:

1 exec的作用就好比把script.py文件的内容粘贴到这条语句的位置,然后执行,这样带来的坏处就是,可能会有变量覆盖的风险

2 在Python2.X中,还包括execfile("script.py")和exec(open("script.py"))的形式,但是,这两种形式在Python3.X中都不支持

原文地址:https://www.cnblogs.com/chaoguo1234/p/9126056.html

时间: 2024-08-12 20:54:42

Python运行的方式的相关文章

为什么python运行的慢

最近在leetcode刷题,明显的注意到同样的算法,python运行的要慢的多,查资料得到python运行的慢主要原因如下: 一.动态类型导致运行速度慢,在北邮人论坛里面的这篇帖子中有较为详细的解释,原文中有举例说明,本文没有例子讲解只是提取了原理来讲解,内容主要如下: (原文链接:http://bbs.byr.cn/#!article/Python/68) a.动态语言中的执行过程 Python等动态类型语言之所以慢,就是因为每一个简单的操作都需要大量的指令才能完成.他们的虚拟机拥有很强的优化

Python黑帽编程1.3 Python运行时与包管理工具

Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Python>一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作.由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好.教程同时提供图文和视频教程两种方式,供不同喜好的同学选择. 0.2 前言 前两

python 运行时报错误SyntaxError: Non-ASCII character &#39;\xe5&#39; in file 1.py on line 2

File "1.py", line 2SyntaxError: Non-ASCII character '\xe5' in file 1.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 原因是:Python默认是以ASCII作为编码方式的,需要在文件开头设置一下编码 # -*- coding: UTF-8 -*- 或者 #coding=utf

python运行代码出现&#39;ascii&#39; codec can&#39;t decode byte 0xb4 in position 11: ordinal not in range(128)

学习机器学习时出现的问题,百度了半天也没弄好,但知道了大概的原因 原因如下:因为默认情况下,Python采用的是ascii编码方式,而Python在进行编码方式之间的转换时,会将 unicode 作为"中间编码",但 unicode 最大只有 128 那么长,所以这里当尝试将 ascii 编码字符串转换成"中间编码" unicode 时由于超出了其范围,就报出了如上错误. 既然知道了原因,那就好解决了不是 解决方法如下: 1.修改默认编码格式: 例如# encodi

隔离python 运行环境和Pycharm 设置代码同步

隔离python 运行环境 查看当前有哪些虚拟环境:workon 进入虚拟环境:workon django 退出虚拟环境:deactivate 创建虚拟环境: mkvirtualenv -p /usr/bin/python3.6 envname (first) 指定python 3.6 版本 , envname 自定义的名称 删除虚拟环境:rmvirtualenv envname 自定义的名称 rmvirtualenv first Pycharm 设置代码同步 创建虚拟环境: mkvirtual

安装Python运行环境

可以直接在python的官网下载相应操作系统平台的python安装包:https://www.python.org/downloads 点击下载后出现的安装界面,建议选中界面下方的Add Python 3.x to PATH复选框,这样安装的程序就会自动将Python的路径加到PATH环境变量中. 2.配置环境变量 在Windows平台配置PATH环境变量的步骤如下: (1)右击 “计算机”,在弹出的快捷菜单中选择“属性”菜单项,会显示如下图窗口,点击高级系统设置,选择环境变量 在环境对话框中有

Python逆向(一)—— Python运行原理

一.什么是Python Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. 二.解释型语言和编译型语言的区别 我们编程都是用的高级语言,计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序.翻译的方式有两种,一个是编译,一个是解释. 用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高级语言翻译成机器语言(具体翻译过程可以参看下图),把源

用 Psyco 让 Python 运行得像 C 一样快

https://www.ibm.com/developerworks/cn/linux/sdk/python/charm-28/ Python 对于您想让它做的事来说通常够快了.编程新手对于类似 Python 这样的解释型/字节编译型语言,将 90% 的关注点集中在执行速度方面,是相当幼稚的.在最新的硬件上,大多数非优化的 Python 程序运行的速度和所需要达到的速度一样快,而且,花费额外的编程工作以使应用程序运行得更快实在没什么意义. 因此,在本文,我只对其它的百分之十感兴趣.有时,Pyth

Python 的执行方式,字节码 bytecode

这里有个博客讲 Python 内部机制,已经有一些中文翻译. 可能因为我用的Python 3.5,例子跑起来有些不一样. 此外,我又查了其他一些参考资料,总结如下: Python 的执行方式 先看一个比较详细的步骤分解: >>> a = "hello" 输入这行代码之后,你一按回车,Python就会执行四步操作: 1  lexing: 词法分析,就是把一个句子分解成 token.大致来说,就是用str.split()可以实现的功能. 2  parsing:解析,就是把