入住 CI 中国社区 登录
CodeIgniter 中国开发者社区 返回首页

rosemarry的个人空间 https://codeigniter.org.cn/forums/?39678 [收藏] [复制] [分享] [RSS]

日志

python系列(三)

已有 980 次阅读2016-3-23 09:30 |个人分类:python

文件操作

1、读文件

f=open(r"C:\Users\Administrator\Desktop\data.txt")
data = f.read()
print(data)
f.close()

注意:这里的\u其实在python中属于一个转义字符,所以在程序在读到这里的时候一直都以为是转义字符,最后路径就不对了,那么我们可以尝试避开这个,可以直接使用//亦或者跟上面一样,在路径前加上r进行转义

          另:在python3.5中,打开文件已经变成了open()了,记得打开了一定要close()关闭

读取文件内容的方法还有:

readline()  #读取一行内容

readlines()  #把内容按行读取至一个list中

2、写文件

python默认是以只读模式打开文件。如果想要写入内容,在打开文件的时候需要指定打开模式为写入:

  f = file('output.txt','w')

'w'就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。

不加参数时,file为你默认为'r',reading,只读模式,文件必须存在,否则引发异常。

另外还有一种模式为'a',appending.它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。

写入内容的方法同样简单:

f.write('a string you want to write')

write的参数可以是一个字符串,或者一个字符串变量。

3、处理文件中的数据

发现一个很有意思的事情:

如果要使用for循环嵌套的发那么第二个for必须比第一个for要隔一个tab的大小

for

     for

如果两个for循环都是各自独立的,那么只需要对齐即可

4、break

while 循环 在条件不满足时 结束,

for 循环 遍历完序列后 结束

如果在循环条件仍然满足或序列 没有遍历完的时候,想要强行跳出循环,就需要用到break语句。

while True:

        a = input()

        if  a == 'EOF':

             break

上面的程序不停接受用户输入。当用户输入一行"EOF"时,程序结束。

5、continue

     break是彻底地跳出循环,而continue只是略过本次循环的余下内容,直接进入下一次循环

注意:无论是continue还是break,其改变的仅仅是当前所处的最内层循环的运行,如果外层还有循环

6、异常处理

在程序运行时,如果我们的代码引发了错误,python就会中断程序,并且输出错误提示。

程序在出错处中断,后面的print不会被执行。

在python中,可以使用try...except语句来处理异常。做法是,把可能引发异常的语句放在try一块中,把处理异常的语句放在except一块中。

在try...except语句中,try中引发的异常就像是扔出了一只飞盘,而except就是一只灵敏的狗,总能准确地接住飞盘。

7、字典

字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息。在字典中,名字叫做'键',对应的内容信息叫做'值'。字典就是一个键/值对的集合。

它的基本格式是(key是键,value是值):

d={key1:value1,key2:value2}

键/值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中。

关于字典的键要注意的是:

1、键必须是唯一的;

2、键只能是简单对象,比如字符串、整数、浮点数、bool值。

list就不能作为键,但是可以作为值。

python字典中的键/值对没有顺序,我们无法用索引访问字典中的某一项而是要用键来访问。

注意:如果你的键是字符串,通过键访问的时候就需要加引号,如果是数字作为键则不用。

字典也可以通过for...in遍历:

注意,遍历的变量中存储的是字典的键。

如果要改变某一项的值,就直接给这一项赋值:

增加一项字典项的方法是,给一个新键赋值:

删除一项字典项的方法是del:

注意:这个键必须已存在于字典中。

score = {
 '萧峰':95,
 '段誉':97,
 '虚竹':89

}
score['虚竹']=99
score['慕容复']=66
del score['萧峰']
for name in score:
 print('%s:%d'%(name,score[name]))

如果你想新键一个空的字典,只需要:

d={}
d['苹果']='Apple'
d['橘子']='Orange'
d['香蕉']='Banana'
for fruit in d:
  print('%s:%s'%(fruit,d[fruit]))









路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 入住 CI 中国社区