envpython
⑴ windows系统下,首行#/usr/bin/env python是不是没有用
#!/usr/bin/env python
# encoding: utf-8
"""
MonitorLog.py
Usage: MonitorLog.py ...
Monitor the log file
-f log file
-h help info
python MonitorLog.py -f C:\monitor.log
Created by zhoubo on 2011-08-29.
"""
import sys
import os
import getopt
import subprocess
import time
import codecs
import winsound
ABSPATH = os.path.dirname(os.path.abspath(__file__))
MONITERCONF = 'moniter_keyword.txt' #utf8 file
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'hf:')
except getopt.GetoptError, err:
print str(err)
print __doc__
return 1
path = ''
for k, v in opts:
if k == '-f':
path = v
elif k == '-h':
print __doc__
return 0
if not (path and os.path.exists(path)):
print 'Invalid path: %s' % path
print __doc__
return 2
#命令行元组
cmd = ('tail', '-f', path)
print ' '.join(cmd)
output = subprocess.Popen(cmd, stdout=subprocess.PIPE)
keywordMap = {}
#加载监控的关键字信息
with codecs.open(os.path.join(ABSPATH, MONITERCONF), 'r', 'utf8') as f:
lines = f.readlines()
for line in lines:
line = line.strip()
if not line:
continue
keyword, wav = line.strip().split(':')
keywordMap[keyword] = wav
while True:
line = output.stdout.readline()
#process code,得到输出信息后的处理代码
if not line:
time.sleep(0.01)
continue
line = line.strip().decode('utf8')
print line
for keyword in keywordMap:
if line.find(keyword) > -1:
winsound.PlaySound(keywordMap[keyword],
winsound.SND_NODEFAULT)
#time.sleep(0.01)
return 0
if __name__ == '__main__':
sys.exit(main())
⑵ 如何在pythonenv中使用高版本django
安装Virtualenv和Python3(因为有些Linux发行版默认没有安装Python3的)
sudo pip install virtualenv
sudo apt-get install python3
建立一个新的工作环境
virtualenv --no-site-packages --python=python3.4 test_env
如果出现The executable python does not exist 错误,那么可以这样使用
virtualenv --no-site-packages --python=3.4 test_env
其中,–no-site-packages表示不包括系统全局的Python安装包,这样会更令环境更干净
–python=python3.4指定Python的版本未系统已经安装了的Python3.4
test_env是建立的环境的名称
进入环境测试并安装Django
使用source test_env/bin/activate命令进入开发环境,然后查看Python版本,再使用pip install django安装django
➜ virtualenv
➜ virtualenv ls
test_env
➜ virtualenv source test_env/bin/activate # 如果是windows则是source test_env/Script/activate
(test_env)➜ virtualenv python
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "right", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
ImportError: No mole named 'django'
>>> exit()
(test_env)➜ virtualenv pip install django
Collecting django
Using cached Django-1.7.3-py2.py3-none-any.whl
Installing collected packages: django
Successfully installed django-1.7.3
(test_env)➜ virtualenv python
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "right", "credits" or "license" for more information.
>>> import django
>>>
import django没有发生错误,证明已经成功安装Django了
⑶ #!/usr/bin/env python与#!/usr/bin/python的区别
在unix类的操作系统才有意义。
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
(3)envpython扩展阅读:
Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
Python常用的代码:,
1,生成随机数
rnd=random.randint(1,500):生成1-500之间的随机数
2,读文件
f=open("c:\1.txt","r")
lines=f.readlines()
forlineinlines
printline
3,写文件
f=open("c:\1.txt","r+"):可读可写模式
f.write("123"):写入字符串
4正则表达式,读取tomcat的日志并打印日期
importre
regx="dddd-dd-d+"
f=open("c:stdout.log","r")
i=0
forstrinf.readlines():
ifre.search(regx,str):
Response.write(str+"<br>")
ifi>10:break
i=i+1
f.close();
5,连接数据库
importpgdb
conn=pgdb.connect
(host='localhost',databse='qingfeng',user='qingfeng',password='123')
cur=conn.cursor()
cur.execute("select * from dream")
printcur.rowcount
⑷ 在vim中怎样自动生成#/usr/bin/env python
在用户家目录下创建vimrc文件,然后将如下内容添加进来:
function HeaderPython()
call setline(1, "#!/usr/bin/env python")
call append(1, "#-*- coding:utf8 -*-")
normal G
normal o
normal o
endf
autocmd bufnewfile *.py call HeaderPython()
保存退出即可专
比如我用的是root用户,那么我创建属过程如下:
vim ~/.vimrc
function HeaderPython()
call setline(1, "#!/usr/bin/env python")
call append(1, "#-*- coding:utf8 -*-")
normal G
normal o
normal o
endf
autocmd bufnewfile *.py call HeaderPython()
保存后退出
然后在任何目录下直接vim 文件名即可
⑸ #!/usr/bin/env python
"有人来说"他是对的。
“自#!/usr/bin/env python”这只是告诉操作系统这个脚本的解释、执行程序的具体位置,+了这个头,在"X"类操作系统中就直接可以这样执行脚本了“hello.py”,否则的话就得这样执行“python hello.py”.
区别:
#!/usr/bin/python 直接告诉计算机执行程序的具体位置
#!/usr/bin/env python 告诉计算机执行程序在系统环境变量中的名字,详细位置在环境变量中设置好了
-----------
这些都是非必要的,因为在执行脚本时,可以用详细路径来标明:
“/usr/bin/python hello.py”
在windows中也可以这样,不过一般设置了环境变量后可以直接“hello.py”
--是windows聪明,还是windows想把人变傻,这是一个问题
-
any way,welcome to be pythonic!
⑹ 怎么启动venv的python解释器
python自带的IDE,启动python用idle.bat,默认路径是 C:\Python27\Lib 或者win+r 进入命令行,键入python,进入python编译环境
⑺ #!/usr/bin/env python 用什么运行
你去装过python就行了版,权www.python.org
⑻ /usr/bin/env: python: 权限不够 root@kali:~# 这个是怎么回事 我执行PY文件就会这样,
文件头上加 #!/usr/bin/env python
chmod +x file.py
./file.py