码迷,mamicode.com
首页 > 编程语言 > 详细

0526知识点整理#2-2(Python-3)

时间:2019-05-31 21:48:15      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:NPU   简单   清空文件   获取值   账号密码   result   account   username   set   


 

字典,#k-v
l = [韩敏,1111,423242,Qq.com,北京]#list

info = {
    name:韩敏,
    phone:11111,
    qq:2342352352,
    email:hamin@qq.com,
    addr:"北京"
 }#字典
        
字典的增删改查

#新增
方式一:info[‘phone‘] = 110

存在‘name’直接修改值,如果不存在添加key和value
方式二:info.setdefault(‘name‘,‘hanmin2‘)

#修改
info[‘phone‘] = 110  #key存在修改,不存在增加

    #删除

info.pop(‘qq‘)

del info[‘qq‘]
#随机删除一个key
info.popitem()

    #取值

方式一print(info[‘phone1‘])
方式二 print(info.get(‘phone‘))
*若取不存在的key时方式一报错,方式二none

例如:

print(info.get(‘sex‘,‘‘))  #sex取到正常取值,取不到返回男

#获取值

print(info.keys())#获取字典里所有的key
print(info.values())#获取字典里面所有的value
#清空
 info.clear()
#两个字典合并,交集替换,并集添加
info.update(stu) 
#判断字典的key是否存在
print(‘phone‘ ininfo) 

#多层字典的操作
print(‘==================‘)stu_info  = {
    ‘liudonghai‘:{
        ‘house‘:[三环‘,四环‘,五环‘],
        ‘car‘:{
            ‘china‘:[‘byd‘,五菱宏光‘,‘Hongqi‘],
            ‘jap‘:[丰田‘,本田‘],
            ‘Genmany‘:{
                ‘ben-z‘:2,
                ‘bmw‘:3,
                ‘audi‘:5
            }
        }
    }
}

#1、刘东海又买了一辆宝马
stu_info[‘liudonghai‘][‘car‘][‘Genmany‘][‘bmw‘]+=1
print(stu_info)
#2、刘东海把byd扔掉了
stu_info[‘liudonghai‘][‘car‘][‘china‘].pop(‘byd‘)
print(stu_info)

注册的程序

#1、输入账号密码
#2、账号如果不存在的话,可以注册
#3、存在的话要提示账号已经存在。
accounts = {
    "liuzhao":"123456",

    "liudonghai":"123456",

    "zhaowenming":"afssdfsdf",

    "xiaoming":"xxxx"

}
for i in range(3):

    username = input(username:)

    passwd = input(passwd:)

    if username in accounts:

        print(用户已存在,不能注册!)

    else:

        accounts.setdefault(username,passwd)

        print(注册成功!)



# print(‘accounts‘,accounts)



for i in accounts:

    print(i)
循环字典
accounts = {
    "liuzhao":"123456",
    "liudonghai":"123456",
    "zhaowenming":"afssdfsdf",
    "xiaoming":"xxxx",
    "users":[1,2,3,4]
}
for k in accounts:#直接循环字典每次循环的时候取到的是字典的key
 print("%s => %s"%(k,accounts[k]))同时取到key和value "liuzhao => 123456"
print(==================)

 for k,v in accounts.items():
print(%s => %s%(k,v)) 同时取到key和value速度慢些#list和字符串循环,都是循环元素
#list和字符串循环,都是循环元素
l  = [‘liuzhao‘, ‘liudonghai‘, ‘zhaowenming‘, ‘xiaoming‘, ‘users‘]
s=‘liuzhaosefw423fwliuzhao‘
 for i in l:    
 print(i) 
#角标循环
print(list(range(1,5))) #range(5)  [0,1,2,3,4]
print(i)
元组
元组是一个list,它不能修改,通过下标取值
*另外字符串也不能修改

定义  t = (‘114.23.12.1‘,‘root‘,‘123456‘,3306)

操作
t.count(‘1‘)#统计元组中1出现的次数

t.index(‘root‘)#索引元组中‘root’的下标值

文件读写
操作
#定义,文件只能读不能写
#路径前需要加‘r‘
f = open(r‘users.txt‘,encoding=‘utf-8‘)#file() #python2

result = f.read() #获取文件内容
print(result)
f.close()#关闭文件
文件读写模式 默认为读模式
f = open(‘users.txt‘,‘r‘)#读 只能读不能写
f = open(‘users.txt‘,‘w‘)#写 只能写不能读
f = open(‘users.txt‘,‘a‘)#追加
#读模式,只能读,不能写,打开不存在的文件会报错
#写模式,只能写不能读,会覆盖文件以前的内容,文件不存在的会创建
#追加模式,在原来文件的内容上增加新内容,文件不存在的会创建,只能写不能读
f = open(‘users.txt‘,‘r+‘)#读写模式
f = open(‘users.txt‘,‘w+‘)#写读模式    
f = open(‘users.txt‘,‘a+‘)#追加读模式
文件指针操作
f = open(r‘test.txt‘,‘a+‘,encoding=‘utf-8‘)#r就是原字符
f.seek(0)#读写最保险用法
# print(f.read())#读取文件里面所有的内容
# print(‘8====‘,f.readline())#读取一行的内容
# print(‘readlines‘,f.readlines())#读取一行的内容,返回字符串格式
# f.seek(0)#移动文件指针
#1、只要是r有关,打开不存在的文件都会报错。
#2、只要和w有关,都会清空原来的文件
#3、a+文件指针默认是在末尾的,如果想读到内容,先要把文件指针移动到最前面

f.writelines(l)  #传一个list的话,他会自动帮你循环,把list里面每一个
或者
l = [‘a\n‘,‘b\n‘,‘c\n‘,‘e\n‘,‘g\n‘]
f = open(‘nhy.txt‘,‘w‘,encoding=‘utf-8‘)
for i in l:
f.write(i+‘\n‘)
f.close()

练习见#2-2课上练习-监控日志

高效处理文件
f = open(‘nhy.txt‘,encoding=‘utf-8‘)
for line in f:#获取文件中每一行的内容
print(‘每次循环的内容是:‘,line)

修改文件
#方式一简单直接粗暴的方式
1、读取内容
2、替换
3、清除原来文件的内容
4、把新的内容写进去
f = open(nhy.txt,a+,encoding=utf-8)
f.seek(0)
result = f.read()
content = result.replace(xiaolan,dalan)#替换
f.seek(0)
f.truncate()#清空文件内容
f.write(content)
f.close()

f2 = open(nhy.txt,w)
f2.write(content)

#方式二逐行处理

    #1、打开a文件,在打开一个b文件
#2、从a文件读一行,修改,修改之后写到b文件里
#3、删除a文件,把b文件的名字改成a文件
f = open(nhy.txt,encoding=utf-8)
f2 = open(nhy2.txt,w,encoding=utf-8)

for line in f:
    result = line.upper()
    f2.write(result)
f.close()
f2.close()

import os
os.remove(nhy.txt)
os.rename(nhy2.txt,nhy.txt)

 

不用关闭文件的方式

with open(nhy.txt) as f, open(nhy2.txt,w) as f2: # f = open(‘nhy.txt‘)
    f = f.read()
    f2.write(xx)

 

 


 
 


 



 

0526知识点整理#2-2(Python-3)

标签:NPU   简单   清空文件   获取值   账号密码   result   account   username   set   

原文地址:https://www.cnblogs.com/kexinwang/p/10952260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!