Python之基础笔记

2016/11/03 Python 共 2070 字,约 6 分钟

查找XML中的节点信息

## 导入模块
from xml.etree import ElementTree
## 获取root节点
root=ElementTree.parse("xml文件的路径")
## 获取特定的节点内容
need_dir=root.find("common/need_dir").text

 

遍历xml中某个节点下所有的子节点信息

## 导入模块
from xml.etree import ElementTree
## 获取root节点
protRoot=ElementTree.parse(path_file)
## 获取所有的protocol节点信息
prots=protRoot.findall("proto")
## 获取protocol节点下所有的子节点信息
for prot in prots:
        protName=prot.get("name")        #获取protocol的属性name的值
        instat=prot.find("stat").text  #获取protocol的子节点instat的内容

 

模糊匹配某路径下所有满足要求的文件

## 导入模块
import glob
## 找出符合要求的所有文件
proc=glob.glob("/home/aye/*_abc_*.csv")

获取某路径下所有的文件夹名称

## 导入模块
import os
## 获取需要指定路径下所有的文件夹
def getDir(path):
		current_files=os.listdir(path)
		for file_name in current_files:
			full_file_name=os.path.join(path,file_name)
			if os.path.isdir(full_file_name):
				all_business.append(full_file_name)
		return all_business

 

多线程

## 导出模块
import threading
## 实现方法
class Business(threading.Thread):
        def __init__(self,bcp_dir, thread_name):
                threading.Thread.__init__(self,name=thread_name)
		self.thread_name=thread_name
                self.bcp_dir=bcp_dir
        def run(self):
                print "执行线程的函数"

postgres数据库操作

## 导入模块
import psycopg2
## 连接postgres数据库,并执行SQL
pgsql = psycopg2.connect(self.db_conn)
cur = pgsql.cursor()
cmd = "copy %s(%s) from '%s' delimiter '\\t' NULL '';"%(self.tabName,self.cols,bcpFile)
cur.execute(cmd) 
res=cur.fetchone()  ## 如果是select语句,会返回查询结果
pgsql.commit()
cur.close()
pgsql.close()

 

例子

pgsql=psycopg2.connect(db_conn)
cur=pgsql.cursor()
cmd="SELECT 1"
cur.execute(cmd)
res=cur.fetchone()
data_type=res[0]
cur.close()
pgsql.close()

python调用shell

## 导入模块 
import os
## 调用shell成功返回0,失败返回1
os.system(cmd)
## 调用shell返回执行的结果
os.popen(cmd).read()

 

加载环境变量

## 导入模块
import subprocess
## 调用语句
subprocess.Popen("source ../etc/env.sh",shell=True)    

file写入

## 导入模块
## 调用方法
file=open("文件名",'w')
file.write("写入的内容")
file.close()

 

按行读取文件

## 导入模块
## 调用方法
logname='/home/test/f.txt'
 
f=open(logname,"r")
while True:
    line=f.readline()
    line.strip("\n")
    if not line:
        break
 
f.close()

   

获取当期路径

## 导入模块
import os
## 调用方法
curr_dir=os.getcwd()

接收脚本传入参数

导入模块
import sys
调用方法
logname=sys.argv[1]

 

字典操作

## 导入模块
## 调用方法
succ={}
fail={}
 
## 判断字典的key是不是1
if 1 not in succ.keys():
     succ[1]=0
     fail[1]=0
 
给字典的key排序后打印
for item in sorted(succ.keys()):
    print str(succ[item])
    print str(fail[item])

文档信息

Search

    Table of Contents