python学习笔记

修改编码方式,适用于 2.7

#! /usr/bin/env python 
# -*- coding: utf-8 -*- 
import sys 
reload(sys) # Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入 
sys.setdefaultencoding('utf-8') 

以下为python 3.4版本

数据库导出csv

imporr sqlite3, csv, codecs  

con = sqlite3.connect('filename')
cu = con.cursonr() # 获取cursor
cu.execute('select * from shop_list') # 执行
data = cu.fetchall() # 获得全部数据

# 列名
colnames = ['shopId', 'shopLogo' , 'shopMaster','shopName', 'shopSn', 'shopTotalGoods']
# 'goodsId' , 'appointmentedStatus' , 'goodsInfo' , 'shopId' , 'title' , 'goodsMaterialId' , 'goodsSn' , 'goodsTypeId' , 'has_cert' ,'isAppointmented' , 'isConcern' , 'isRecommended' ,'isimplant' , 'orderStatus' , 'price', 'priceRangeName' , 'quantity' , 'goodPattern', 'goodPatternId' , 'goodsCateId', 'goodsCateName']
# 先打开文件,写入codecs.BOM_UTF8后关闭,然后追加csv
csvfile = open('商家信息.csv', 'wb')  
csvfile.write(codecs.BOM_UTF8)
csvfile.close()

csvfile = open('商家信息.csv', 'a', encoding = 'utf-8')  
writers = csv.writer(csvfile) 
writers.writerow(colnames)

for line in data:
    writers.writerow(line)
csvfile.close()

url 编码

import urllib.parse
str_test = '李丕栋'
str_code = urllib.parse.quote(str_test)
str_decode = urllib.parse.unquote(str_code)
print(str_decode)
print(str_code)

多进程


import multiprocessing
import time
import random
import os
import math

def func(msg):
    math.floor(random.random())
    # for i in range(3):
    # print(msg)
    # time.sleep(1)
    time.sleep(5)
    print('Run task %s...%s' % (os.getpid(), msg))

if __name__ == "__main__":
    start = time.time()
    pool = multiprocessing.Pool(processes= 6) # 设置进程数
    for i in range(100):
        msg = "hello %d" %math.floor(random.random()*4)
        pool.apply_async(func, (msg, ))
    pool.close()
    pool.join()
    print("Sub-process(es) done.")
    end = time.time()
    print('spend time %2fs'%(end-start))

多线程下载 shell

axel -n 线程数 网址

你可能感兴趣的:(csv,多进程,字符串乱码)