博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python】入门学习(七)
阅读量:6583 次
发布时间:2019-06-24

本文共 4569 字,大约阅读时间需要 15 分钟。

设置字符串格式:

format % values

>>> x =1/81>>> print(x)0.012345679012345678>>> print('value:%.2f' % x)value:0.01

d #整数

o #八进制

x #小写16进制

X #大写16进制

e #小写科学计数法

E #大写科学计数法

f #浮点数

s #字符串

% #%字符

有多个填充时,以元组的方式指明 在字符串中包含%时必须使用%%

>>> a,b,c='cat',3.1415,6>>> s = 'There\'s %d %ss older than %.2f years' % (c,a,b)>>> s"There's 6 cats older than 3.14 years"

 

格式字符串:

{}.format()  #将花括号中的内容转换成圆括号中的内容

可以通过命名替换

也可以按位置替换

还可加入转换说明符,要在{}中加:

>>> 'My {pets} has {prob}'.format(pets='dog',prob='fleas')'My dog has fleas'>>> 'My {0} has {1}'.format('dog','fleas')'My dog has fleas'>>> '1/81 = {x:.3f}'.format(x=1/81)'1/81 = 0.012'

用大括号来指定格式设置参数,显示{或}时要用{

{和}}

>>> 'num = {
{
{x:.{d}f}}}'.format(x = 1/81, d = 3)'num = {0.012}'

r可以得到原始字符串

>>> print('c:\\python')c:\python>>> print(r'c:\python')c:\python

 

文件和文件夹相关函数:

os.getcwd()  #返回当前工作目录的名称

os.listdir(p)  #返回一个字符串列表,其中包含路径p指定的文件夹中所有文件和文件夹的名称

os.chdir(p)  #将当前工作路径设为p

os.path.isfile(p) #如果p是文件返回True,否则返回False

os.path.isdir(p) #如果p是文件夹返回True,否则返回False

os.stat(fname) #返回有关fname的信息,如大小、最后一次修改时间

#list.pyimport osdef list_cwd():    return os.listdir(os.getcwd())def files_cwd():    return [p for p in list_cwd() if os.path.isfile(p)]def folders_cwd():    return [p for p in list_cwd() if os.path.isdir(p)]
>>> files_cwd()['area.py', 'codesum.py', 'count10.py', 'donesum.py', 'extension.py', 'fact.py', 'funny.py', 'global.py', 'greetings.py', 'hello.py', 'list.py', 'name.py', 'numnote.py', 'password1.py', 'reference.py', 'sum.py', 'timestable.py', 'welcome.py', 'yesno.py']>>> folders_cwd()['__pycache__']

只获取.py结尾的文件

def list_py(path = None):    if path == None:        path = os.getcwd()        return [fname for fname in os.listdir(path)                if os.path.isfile(fname)                if fname.endswith('.py')]
>>> list_py()['area.py', 'codesum.py', 'count10.py', 'donesum.py', 'extension.py', 'fact.py', 'funny.py', 'global.py', 'greetings.py', 'hello.py', 'list.py', 'name.py', 'numnote.py', 'password1.py', 'reference.py', 'sum.py', 'timestable.py', 'welcome.py', 'yesno.py']

获取文件的大小总和:两种写法

def size_in_bytes(fname):    return os.stat(fname).st_sizedef cwd_size_in_bytes():    total = 0    for name in files_cwd():        total = total + size_in_bytes(name)    return totaldef cwd_size_in_bytes2():    return sum(size_in_bytes(f) for f in files_cwd())
>>> cwd_size_in_bytes()3770>>> cwd_size_in_bytes2()3770

 

文本文件处理:

文件打开模式:

'r'   #读取 默认 

'w'  #写入

'a'   #文件末尾附加

'b'  #二进制

't'   #文本 默认

'+'  #读写

默认按行读取 包括最后面的\n

#printfile.pydef print_file1(fname):    f = open(fname,'r')    for line in f:        print(line,end = '')    f.close()
>>> print_file1('printfile.py')#printfile.pydef print_file1(fname):    f = open(fname,'r')    for line in f:        print(line,end = '')    f.close()

将整个文本作为一个大字符串来读:

>>> print(open('printfile.py').read())#printfile.pydef print_file1(fname):    f = open(fname,'r')    for line in f:        print(line,end = '')    f.close()

写入文本文件:

#write.pyimport osdef make_story2():    if os.path.isfile('story.txt'): #检查是否已存在文件        print('story.txt already exists')    else:        f = open('story.txt', 'w')        f.write('Mary had a litte lamb,\n')        f.write('and then she had some more.')
>>> make_story2()>>> make_story2()story.txt already exists

在末尾添加

def add_to_story(line, fname ='story.txt'):    f = open(fname, 'a')    f.write(line)
>>> add_to_story('HaHaHa!!\n')

在文件开头添加,必须把文件重写 注意要用fseek(0)

def insert_title(title, fname = 'story.txt'):    f = open(fname,'r+')    temp = f.read()    temp = title + '\n\n' + temp    f.seek(0)  #让文件指向文件开头    f.write(temp)
>>> insert_title("     Story    ")

最终story.txt的内容是

Story    Mary had a litte lamb,and then she had some more.HaHaHa!!

 

用二进制方式打开文件:

判断文件是否为gif

def is_gif(fname):    f = open(fname,'br')    first4 = tuple(f.read(4))    return first4 == (0x47,0x49,0x46,0x38)
>>> is_gif('1.gif')True

 

pickle.dump #可用来存储数据

pickle.load #可用来获取数据

#picklefile.pyimport pickledef make_make_pickled_file():    grades = {
'a':[4,5,6], 'b':[0,1,2], 'c':[8,9,7]} outfile = open('grades.dat','wb') pickle.dump(grades,outfile)def get_pickled_data(): infile = open('grades.dat','rb') grades = pickle.load(infile) return grades
>>> make_make_pickled_file()>>> a = get_pickled_data()>>> a{
'a': [4, 5, 6], 'c': [8, 9, 7], 'b': [0, 1, 2]}

pickle可以存储函数,但不能读写特殊形式的二进制文件如GIF文件

shelve模块有存储和检索数据更高级的方法

sqlite3模块提供了访问SQLite数据库的接口

 

读取网页

>>> import urllib.request>>> page = urllib.request.urlopen('http://python.org')>>> html = page.read()>>> html[:30]b'\n

下面的代码可以在默认浏览器中打开页面;

>>> import webbrowser>>> webbrowser.open('http://www.baidu.com')True

 

转载地址:http://myxno.baihongyu.com/

你可能感兴趣的文章
Linux下常用SVN命令
查看>>
[Leetcode]198. House Robber
查看>>
异步的事件轮询机制
查看>>
数学基础-概率论
查看>>
VALID_FOR in db standby
查看>>
转 linux之sed命令详解
查看>>
nginx相对于apache的区别
查看>>
看博客学学Android(十一)
查看>>
angular知识框架
查看>>
my life
查看>>
第二阶段12.14
查看>>
Spring事务管理
查看>>
关于C# partial的使用
查看>>
排序之插入排序
查看>>
存储过程--根据表名生成表的insert语句
查看>>
leetcode — unique-paths-ii
查看>>
redis——持久化篇
查看>>
算法导论-MIT笔记
查看>>
(网络流 匹配 KM) Going Home --poj -- 2195
查看>>
zb的生日-------搜索 和 动态规划
查看>>