python小技巧
2021-02-11 04:19
标签:start 环境 环境变量 glib tle adl type cte db_name python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 在子进程生效: 在父进程生效: 改变执行命令空间: if : 2.判断字符串内值 3.判断字符类型 isinstance(a,int) isinstance(b,float) isinstance(b,int) 5.同一性运算 判断文件夹是否存在,不存在则创建: 布尔运算符 python shell间变量传递 python中百分号 % 用法 1.环境变量 import os 2.字符串连接 import os 3.通过管道 import os 4.通过文件 output = open(‘/tmp/mytxt’, ‘w’) 5.通过重定向标准备输出 buf = open(’/root/a.txt’, ’w’) print >> open(‘/root/a.txt’, ‘w’), ‘123\n’, ‘abc’ #写入或生成文件 shell -> python 1.管道 import os import commands import commands 3.文件 input = open(‘/tmp/mytxt’, ‘r’) python的百分号用法 % db_backup_name = r"%s/%s_%s.sql" %(db_backup_dir,db_name,time.strftime("%Y%m%d%H%M")) tar = tarfile.open(‘%s‘%("/home/admin/test"),"w:gz") 2.将python变量传入shell指令中的方法: 3.用于print字符 python小技巧 标签:start 环境 环境变量 glib tle adl type cte db_name 原文地址:https://www.cnblogs.com/chanix/p/12737715.html
20150418
python调用系统命令,报找不到.怎么办?
类似执行shell的:
[ -f /etc/init.d/functions ] && . /etc/init.d/functions || . /lib/lsb/init-functions
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
os.putenv("PATH","/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin")
os.putenv("LD_LIBRARY_PATH","/usr/local/mysql/lib:/usr/local/glibc-2.14/lib")
os.putenv("TZ","Asia/Shanghai")
os.environ[‘PTAH] =‘aaaa‘
os.chdir(‘/root‘)
python判断
20150422 Chenxin整理
1.判断字符串是否为空.(python判断进程是否存在)
判断系统某个进程是否存在,不存在,则直接退出自己:
mysqlprocess=os.popen(‘ps -e|grep mysqld‘).read()
if len(mysqlprocess) == 0:
exit()
elif :
elif :
else:
s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符、\t、\n、\r
判断是整数还是浮点数
a=123
b=123.123
True
True
False
string 里面的函数isdigit(),可以判断是不是数字。或者,采用type(1)==int。
print(‘c is equal as b‘)
if c != a:
print(‘c is not equal as a‘)
if a >= b:
print(‘a is greater than b‘)
if c
print(‘c is less than a.‘)
说明:用于判断两个变量是否指向同一对象;
注意:避免把 is 比较运算符应用于比较常量值,如数字,字符串等。 即 避免以下比较:1: if ‘123‘ is ‘123‘:
x is y:x和y是同一对象;
x is not y:x和y不是同一对象;
x in y: x在y中;
x not in y: x不在y中;
注意:
比较运算符是可连接的,例如:14
比较运算符不能比较不同类型的数据.
if not os.path.isdir(‘/bak‘):
os.mkdir(‘/bak‘)
说明:包括,and, or, not
20150425 Chenxin整理
python -> shell
import os
var=123或var=’123’
os.environ[’var’]=str(var) #environ的键值必须是字符串
os.system(’echo $var’)
var=123或var=’123’
os.environ[’var’]=str(var) #environ的键值必须是字符串
os.system(’echo $var’)
import os
path=’/root/a.txt’
var=[1]
var=’bash’
os.system(’echo ’ + path) #注意echo后有空格
os.system(‘echo ‘ + str(var[0]))
os.system(’echo ’ + var + ’ /root/c.sh’) #注意echo后和/root前有空格
path=’/root/a.txt’
var=[1]
var=’bash’
os.system(’echo ’ + path) #注意echo后有空格
os.system(‘echo ‘ + str(var[0]))
os.system(’echo ’ + var + ’ /root/c.sh’) #注意echo后和/root前有空格
import os
var=’123’
os.popen(’wc -c’, ’w’).write(var)
var=’123’
os.popen(’wc -c’, ’w’).write(var)
output = open(‘/tmp/mytxt’, ‘w’)
output.write(S) #把字符串S写入文件
output.writelines(L) #将列表L中所有的行字符串写到文件中
output.close()
output.write(S) #把字符串S写入文件
output.writelines(L) #将列表L中所有的行字符串写到文件中
output.close()
buf = open(’/root/a.txt’, ’w’)
print >> buf, ‘123\n’, ‘abc’
print >> buf, ‘123\n’, ‘abc’
或
print >> open(‘/root/a.txt’, ‘w’), ‘123\n’, ‘abc’ #写入或生成文件
print >> open(‘/root/a.txt’, ‘a’), ‘123\n’, ‘abc’ #追加
print >> open(‘/root/a.txt’, ‘a’), ‘123\n’, ‘abc’ #追加
import os
var=os.popen(’echo -n 123’).read( )
print var
var=os.popen(’echo -n 123’).read( )
print var
var=commands.getoutput(’echo abc’) #输出结果
var=commands.getstatusoutput(’echo abc’) #退出状态和输出结果
var=commands.getoutput(’echo abc’) #输出结果
var=commands.getstatusoutput(’echo abc’) #退出状态和输出结果
input = open(‘/tmp/mytxt’, ‘r’)
S = input.read( ) #把整个文件读到一个字符串中
S = input.readline( ) #读下一行(越过行结束标志)
L = input.readlines( ) #读取整个文件到一个行字符串的列表中
S = input.read( ) #把整个文件读到一个字符串中
S = input.readline( ) #读下一行(越过行结束标志)
L = input.readlines( ) #读取整个文件到一个行字符串的列表中
20150425Chenxin
1.函数或方法的参数
os.remove(db_backup_name)等价于
os.remove( "%s" %(db_backup_name)) 或
os.remove( ‘%s‘ %(db_backup_name))
backup_result = os.system("mysqldump -h%s -u%s -p%s --default_character-set=%s %s > %s" %(db_host,db_user,db_passwd,db_charset,db_name,db_backup_name))
tar = tarfile.open(‘%s.tar.gz‘ % (filename),"w:gz")
filename + ".tar.gz"
import sys
curr_process_name = sys.argv[0][sys.argv[0].rfind(os.sep)+1:] #获取当前进程的文件名(脚本名)
print curr_process_name
curr_process_numb = os.popen("ps axf|grep ‘%s‘|grep -v grep |wc -l" %(curr_process_name)).read() #同以下方式
curr_process_numb = os.popen("ps axf|grep " + curr_process_name + "|grep -v grep|wc -l").read()
print ‘remove %s‘ %(db_backup_name)
上一篇:快速排序