python中#!/usr/bin/python与#!/usr/bin/env python的区别
微信搜索:CoXie带你学编程,后台回复你想要的资源,并留下你的微信号,将于3个工作日内会回复或添加微信进行回复
目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本
所以我们在第一句往往会写如下两句中的其中一句:
#!/usr/bin/python
或
>#!/usr/bin/env python
就是说在没有在执行程序时指出用什么程序运行py脚本时,系统会去调用python程序来执行。
举个简单的例子: 我们在linux环境下写一个最简单的python脚本 vim hello.py
#!/usr/bin/python
或者#!/usr/bin/env python
print ‘ helloworld!
编写完成后正常我们在会输入命令: python hello.py来执行这个脚本,但是因为有了第一行的声明,所以我们只要是给这个py脚本添加可执行权限,那我们就可以直接 ./hellp.py 来执行了。
在这里还是要推荐下我自己建的Python开发学习群:725479218,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴
#!/usr/bin/python与#!/usr/bin/env python的区别是?
明白了写第一句语句的初衷后,那就该分析一下两者的区别了:
.#!/usr/bin/python的意思是说去/usr/bin/目录下找python去执行
.#!/usr/bin/env python 的意思是在#!/usr/bin/env中找到python的安装路径,然后去执行它,这个可执行的python路径不管是不是在/usr/bin下,用法比较灵活,而#!/usr/bin/python就写成了绝对路径,只能去/usr/bin下找。
结论:推荐使用 #!/usr/bin/env python
另外解决中文输出的问题,应该在第二行制定编码位utf-8,这样就解决了中文报错的问题
即,在py脚本开头我们应该写如下两句语句来指定运行环境和编码:
#!/usr/bin/env python
#-*-coding:utf-8-*-
python中#!/usr/bin/python与#!/usr/bin/env python的区别的更多相关文章
- python中,花括号,中括号,小括号的区别
python中,花括号,中括号,小括号的区别 Python主要有三种数据类型:字典.列表.元组.其分别由花括号,中括号,小括号表示. 如: 字典:dic={'a':12,'b':34} 列表:list ...
- 理解Python中的装饰器//这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档
转自:http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html 这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档 ...
- Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- python中集合set,字典dict和列表list的区别以及用法
python中set代表集合,list代表列表,dict代表字典 set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯 ...
- Python 中格式化字符串 % 和 format 两种方法之间的区别
Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析. # 定义一个坐标值 c = (250, ...
- python中读取文件的read、readline、readlines方法区别
#读取文件所有内容,返回字符串对象,python默认以文本方式读取文件,遇到结束符读取结束. fr = open('lenses.txt')read = fr.read()print(type(rea ...
- Python中class内置方法__init__与__new__作用与区别探究
背景 最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两个特殊内置方法__init__与__new__,决定先尝试 ...
- Python中列表、元组、字典增删改查基本区别
1.定义: 列表:num = ["a","b"."c"] ##定义后可增删改查 元组:num = ("a"," ...
- Python中的赋值(复制)、浅拷贝、深拷贝之间的区别
1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间. 2.浅拷贝: 创建新对象,其内容是原对象的引用. 浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数. 如: ...
- Python中re的match、search、findall、finditer区别
原文地址: http://blog.csdn.net/djskl/article/details/44357389 这四个方法是从某个字符串中寻找特定子串或判断某个字符串是否符合某个模式的常用方法. ...
随机推荐
- python之锁, 队列
进程的其他方法 进程id,进程名字,查看进程是否活着is_alive() terminate()发送结束进程的信号 import time import os from multiprocessin ...
- loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
运行脚本-Run-time Settings-Browser Enmulation设置详解 by:授客 QQ:1033553122 浏览器模拟 所有Internet Vuser Header包含一个标 ...
- JVM vs DVM
- (网页)Java日志记录框架Logback配置详解(企业级应用解决方案)(转)
转自CSDN: 前言 Logback是现在比较流行的一个日志记录框架,它的配置比较简单学习成本相对较低,所以刚刚接触该框架的朋友不要畏惧,多花点耐心很快就能灵活应用了.本篇博文不会具体介绍Logbac ...
- Django 认证
from django.contrib import auth 1.authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要username和password两个关键字参数 ...
- 查看python版本
1.未进入python shell python --version 2.进入python shell,有两种方法 (1) help() (2) import sys sys.version
- Java概述和项目演示
Java概述和项目演示 1. 软件开发学习方法 多敲 多思考 解决问题 技术文档阅读(中文,英文) 项目文档 多阅读源码 2. 计算机 简称电脑,执行一系列指令的电子设备 3. 硬件组成 输入设备:键 ...
- Docker搭建wordpress博客环境(Centos7)
Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...
- MySQL基本操作命令
数据库的基本操作命令 1.登录MySQL -- 进入数据库的方法一 mysql -uroot -pmysql # mysql 数据库密码(显示) -- 进入数据库的方法二 mysql -uroot - ...
- Win10系统电脑桌面图标没有了怎么办
win10系统相对来说还是有些不稳定的,有时候打开电脑会发现,桌面上的图标不见了,遇见这种情况,先别着急,可以使用两种很简单的方法来解决. 方法一: 在桌面上右键,点击查看,看“显示桌面图标”这一项前 ...