py的交♂易

2018-03-13

2018-03-13  本文已影响0人  果轰桃

文件与异常

读取与写入

python可以读取打开文件并读取其内容
如下面代码

while True:
    filename = r'C:\Users\42582\Desktop\pcc-master\Users_language.txt'
    User_language = input('please tell me your favourate LANGUAGE: \n')
    if User_language == 'break':
        break
    with open(filename,'a') as file_object:
        file_object.write(User_language + '\n')
    #存入受访者最喜欢的语言

    with open(filename) as  file_object_read:
        lines = file_object_read.readlines()
        for line in lines:
            print(line.rstrip())
    #打印所有已存在语言

异常

Python文件出现异常时,会出现traceback代码块,包含异常报告,显示出你的程序中文件的名称,看到你不能运行的代码,对一个攻击者来说可以判断出需要对你的代码的攻击方式

def open_and_read(filename):
    """打开文件并逐行打印文件内容"""
    try:
        with open(filename) as f_obj:
            lines = f_obj.readlines()
            for line in lines:
                article = line.rstrip()
    except FileNotFoundError:
#    print('illegal file location')
        pass
    else:
        print(article)
f_names = ['C:\\Users\\42582\\Desktop\\pcc-master\\cats.txt','C:\\Users\\42582\\Desktop\\pcc-master\\dogs.txt']
for f_name in f_names:
    open_and_read(f_name)

使用json存储数据

使用import json导入json,通过 XXX.json 文件存储数据

import json
def get_users_name():
    '''尝试获取文件中的用户名'''
    filename = r'C:\Users\42582\Desktop\pcc-master\pcc-master\chapter_10\remember_me.txt'
    try:
        with open(filename) as file_object:
            user_name = json.load(file_object)
    except:
        return None
    else:
        return user_name

def get_new_username():
    '''创建新的用户名'''
    filename = r'C:\Users\42582\Desktop\pcc-master\pcc-master\chapter_10\remember_me.txt'
    user_name = input('please tell me your name:  ')
    with open(filename, 'w') as file_object:
        json.dump(user_name, file_object)
    return user_name

def greet_users(): 
    '''判断是否存在用户名且用户名相同,不存在或不相同则创建新的用户'''
    user_name = get_users_name()
    now_username = input('tell me your name and I will check')
    if user_name and now_username == user_name:
        print('Welcome back ' + user_name)
    else:
        user_name = get_new_username()
        print('I will remember you ' + user_name)

greet_users()
上一篇 下一篇

猜你喜欢

热点阅读