python import
Posted 潇潇六月雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python import相关的知识,希望对你有一定的参考价值。
学习网址:http://www.cnblogs.com/alex3714/articles/5161349.html
import sys
sys.stdout.write(\'fa\') #打印输入字符串
sys.path.append()
sys.argv: 实现从程序外部向程序传递参数。
sys.exit([arg]) #程序中间的退出,arg=0为正常退出。
sys.getdefaultencoding() #获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding() #设置系统默认编码
sys.exit(获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下) #执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,
sys.path #获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下
sys.modules #sys.modules是一个全局字典,该字典是python启动后就加载在内存中。
sys.version 获取Python解释程序的版本信息
import os
os.getcwd() #查看当前所在路径。
os.listdir(path) #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.path.abspath(path) #返回path的绝对路径。
os.path.split(path) #将路径分解为(文件夹,文件名),返回的是元组类型
os.path.join(path1,path2,...) #将path进行组合,若其中有绝对路径,则之前的path将被删除。
os.path.dirname(path) #返回path中的文件夹部分,结果不包含\'\\\'
os.path.exists(path) #文件或文件夹是否存在,返回True 或 False
os.path.getsize(path) #文件或文件夹的大小,若是文件夹返回0
os.path.getmtime(path) #文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
os.path.getatime(path) #文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.path.getctime(path) #文件或文件夹的创建时间,从新纪元到访问时的秒数。
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: (\'.\')
os.pardir 获取当前目录的父目录字符串名:(\'..\')
os.makedirs(\'dirname1/dirname2\') 可生成多层递归目录
os.removedirs(\'dirname1\') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir(\'dirname\') 生成单级目录;相当于shell中mkdir dirname
os.rmdir(\'dirname\') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
os.stat(\'path/filename\') 获取文件/目录信息
os.sep 输出操作系统特定的路径分隔符,win下为"\\\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\\t\\n",Linux下为"\\n"
os.pathsep 输出用于分割文件路径的字符串
os.name 输出字符串指示当前使用平台。win->\'nt\'; Linux->\'posix\'
os.system("bash command") 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.basename(path) 返回path最后的文件名。如何path以/或\\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.isabs(path) 如果path是绝对路径,返回True
os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
import time
time.sleep(0.1) #每隔n秒操作一次,既睡眠时间
import json
json.dumps() #将数据转为json格式
json.loads() #将json数组解密
import shelve
#shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
例:
d = shelve.open(\'shelve_test\') #打开一个文件
class Test(object):
def __init__(self,n):
self.n = n
t = Test(123)
t2 = Test(123334)
name = ["alex","rain","test"]
d["test"] = name #持久化列表
d["t1"] = t #持久化类
d["t2"] = t2
d.close()
import pickle
pickle.dumps() #将数据转换成字节类型保存,可以保存函数
pickle.loads() #将字节类型数据转换回来,转换后可以调用函数
import random
random.random() #生成0~1之间的随机数
random.randint() #生成a~b内的整型随机数,小于等于a大于等于b
random.randrange() #从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。
random.choice(\'string\') #从序列中随机抽取 一个元素
random.choice(["JGood","is","a","handsome","boy"])
random.sample() #从指定序列中随机获取指定长度的片断
#random.sample([1,2,3,4,5],3) #[1, 2, 5]
random.uniform() #浮点数指定区间浮点数
random.uniform(1, 10)) #9.887001463194844
#洗牌#
items = [1,2,3,4,5,6,7]
print(items) #[1, 2, 3, 4, 5, 6, 7]
random.shuffle(items)
print(items) #[1, 4, 7, 2, 5, 3, 6]
import shutil
shutil.copyfilebj(\'复制文件\',\'拷贝的另一个文件\') #拷贝的文件一定要先创建
shutil.copyfile(\'复制文件\',\'新文件名\') #拷贝文件
shutil.copymode(\'复制文件\',\'拷贝的文件\') #仅拷贝权限,内容、组、用户均不变
shutil.copystat(\'复制文件\',\'拷贝文件\') #拷贝状态信息,包括mode bits, atiem, mtime, flags
shutil.copytree(src, dst, symlinks=False, ignore=None) #递归的去拷贝文件
shutil.rmtree(path[, ignore_errors[, onerror]]) #递归的去删除文件
shutil.move(src, dst) #递归的去移动文件
shutil.make_archive(base_name, format,...) #创建压缩包并返回文件路径,例如:zip、tar
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象
import zipfile
z = zopfile.Zipfile(\'name.zip\',\'w\')
#压缩
z.write(\'new.log\')
z.write(\'data.data\')
z.close()
#解压
z = zipfile.Zipfile(\'name.zip\',\'r\')
z.extractall()
z.close()
例子:www.cnblogs.com/alex3714/articles/5161349.html
import xml.etree.ElementTree as ET
tree = ET.parse("文件名.xml")
root = tree.getroot()
print(root.tag)
#遍历xml文档
for child in root:
print(child.tag, child.attrib)
for i in child:
print(i.tag,i.text)
#只遍历year 节点
for node in root.iter(\'year\'):
print(node.tag,node.text)
#修改、删除
import xml.etree.ElementTree as ET
tree = ET.parse("xmltest.xml")
root = tree.getroot()
#修改
for node in root.iter(\'year\'):
new_year = int(node.text) + 1
node.text = str(new_year)
node.set("updated","yes")
tree.write("xmltest.xml")
#删除node
for country in root.findall(\'country\'):
rank = int(country.find(\'rank\').text)
if rank > 50:
root.remove(country)
tree.write(\'output.xml\')
#创建xml文档
import xml.etree.ElementTree as ET
new_xml = ET.Element("namelist")
name = ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET.SubElement(name,"sex")
sex.text = \'33\'
name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"})
age = ET.SubElement(name2,"age")
age.text = \'19\'
et = ET.ElementTree(new_xml) #生成文档对象
et.write("test.xml", encoding="utf-8",xml_declaration=True)
ET.dump(new_xml) #打印生成的格式
PyYAML模块
参考文档:http://pyyaml.org/wiki/PyYAMLDocumentation
hashlib模块
用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密
import hmac
h = hmac.new(b\'天王盖地虎\', b\'宝塔镇河妖\')
print h.hexdigest()
re模块
正则
以上是关于python import的主要内容,如果未能解决你的问题,请参考以下文章