待完善

# -*- coding: utf-8 -*-

import sys

import csv # 用于写入 csv 文件

# 处理命令行参数类

class Args(object):

def __init__(self):

self.args = sys.argv[1:]

def get_configfile(self):

return self.args[self.args.index('-c') + 1]

def get_userdate(self):

return self.args[self.args.index('-d') + 1]

def get_gongzifeile(self):

return self.args[self.args.index('-o') + 1]

"""

补充代码:

1. 补充参数读取函数,并返回相应的路径.

2. 当参数格式出错时,抛出异常.

"""

# 配置文件类

class Config(object):

def __init__(self,configfile):

self.config = configfile

# 配置文件读取内部函数

def _read_config(self):

config = {}

with open(self.config) as file:

for line in file:

line_a = line.split('=')[0].strip()

line_b = float(line.split('=')[1].strip())

config[line_a] = line_b

print('line_a'+':'+ line_a)

print('line_b',':',line_b)

return config

"""

补充代码:

1. 根据参数指定的配置文件路径,读取配置文件信息,并写入到 config 字典中.

2. 使用 strip() 和 split() 对读取到的配置文件去掉空格以及切分.

3. 当格式出错时,抛出异常.

"""

# 用户数据类

class UserData(object):

def __init__(self):

self.userdata = self._read_users_data()

# 用户数据读取内部函数

def _read_users_data(self):

userdata = []

"""

补充代码:

1. 根据参数指定的工资文件路径,读取员工 ID 和工资数据.

2. 可将员工工号和工资数据设置为元组,并存入 userdata 列表中.

3. 当格式出错时,抛出异常.

"""

# 税后工资计算类

class IncomeTaxCalculator(object):

# 计算每位员工的税后工资函数

def calc_for_all_userdata(self):

"""

补充代码:

1. 计算每位员工的税后工资(扣减个税和社保).

2. 注意社保基数的判断.

3. 将每位员工的税后工资按指定格式返回.

"""

# 输出 CSV 文件函数

def export(self, default='csv'):

result = self.calc_for_all_userdata()

with open("输出文件的路径,由输入参数获得") as f:

writer = csv.writer(f)

writer.writerows(result)

# 执行

if __name__ == '__main__':

"""

按实际情况补充代码

"""

arg = Args()

print(arg.get_configfile())

print(arg.get_userdate())

print(arg.get_gongzifeile())

config = Config(arg.get_configfile())

config._read_config()

python实验楼工资计算器_挑战:工资计算器读写数据文件相关推荐

  1. python 读写数据文件的6种常用方式

    本文主要介绍python读写数据文件的6种常用方式. 1. python内置方法 with open(r'test.xlsx') as f:a = f.read() 一般,在应用上述上下文管理器后,可 ...

  2. 工资计算器读写数据文件

    介绍 重新实现上一个挑战中的计算器,可以支持从配置文件中读取社保的税率,并读取员工工资数据 CSV 文件,同时将输出信息写入员工工资单 CSV 文件中. 计算器执行中包含下面的三个参数: -c 配置文 ...

  3. 怎样用计算机算出别人的出生日期,【怀孕出生日期计算器_怀孕出生日期计算器专题】- 天鹅到家...

    很多要想比较技术专业且精确地预测分析自身的排卵期的女性.要想怀孕或避开怀孕的女性,或是要想根据对排卵期的预测分析,根据排卵期時间的不一,对生理学病症做出一些预防的女性,能够运用女性排卵期计算器.女性排 ...

  4. python xlrd xlwt pandas 模块 区别_python如何读写excel文件|python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ python读写excel的方式有很多,不同的模块在读写的方法上稍有区别: 用xlrd和xlwt进行exc ...

  5. Python之数据分析(Numpy中读取与保存数据文件、将数据文件制成K线图)

    文章目录 一.读取与保存文件 二.将数据文件制成K线图 一.读取与保存文件 1.读取文件格式 numpy.loadtxt(文件名,delimiter = 分割符,usecols = 选择列,unpac ...

  6. python查找文件名_Python实现的根据文件名查找数据文件功能示例

    这篇文章主要介绍了Python实现的根据文件名查找数据文件功能,涉及Python针对文件与目录的遍历.查询等相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python实现的根据文件名查找数据文件功 ...

  7. python基础教程 excel_python基础教程 excel-python怎么读写excel文件

    excel和python哪个难学 excel 分应用和VBA编程,phthon本就是编程语言,对数据分析来说,excel足够了,而且是最容易学习的数据处理与分析应用软件,Python肯定比excel难 ...

  8. python调用文件对象所提供的读取数据的函数_python读写数据文件

    1. read.readline.readlines (1)open函数 如果你想用python读取文件(如txt.csv等),第一步要用open函数打开文件. open()是python的内置函数, ...

  9. Python StringIO模块 实现在内存缓冲区中读写数据

    StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",我们可以像操作磁盘文件那样来操作StringIO.这篇文章主要介绍了Python Stri ...

  10. python实验楼工资计算器_挑战:完善工资计算器

    完善工资计算器 项目需求改变: 输出税后工资 计算过程需要扣除社会保险费用 支持多人同时计算工资 打印税后工资列表 个税计算公式: 应纳税所得额 = 工资金额 - 各项社会保险费 - 起征点(3500 ...

最新文章

  1. R语言数据结构之因子
  2. 乐高ev3搭建图_乐高EV3作品|机械夹子(二)
  3. 科技感的动态设计方法-1
  4. appweb ejs_EJS部分
  5. python循环结构高一信息技术有限公司_Python之循环结构
  6. 用摸鱼学来解释隐马尔可夫模型(HMM)
  7. openJDK 源码下载
  8. c语言链表插入尾部,为什么我的程序一执行插入链表尾部,再执行别的操作就会出现问题,...
  9. ASDM的一部分功能介绍
  10. 浏览器兼容性问题和解决方案
  11. 直通车怎么能不推广计算机设备,直通车智能推广具体怎么设置?如何操作?
  12. 人工智能会议等级列表
  13. MoveIt! 学习笔记13 - KDL/IKFAST/TRAC-IK运动学求解器区别
  14. 第四章:Django特级篇
  15. 算法——弗洛伊德算法(Floyd-Warshall)(图论)(c++)
  16. 命令行导入mysql数据库
  17. 2021年最新ABAQUS复合材料建模仿真与应用专题培训
  18. python 随机森林分类 DecisionTreeClassifier 随机搜索优化参数 GridSearchCV
  19. 撰写论文时常用的研究方法有哪些?
  20. 把图片修改为单色图片

热门文章

  1. 心理正常与异常的区分_正常心理与异常心理的判别标准
  2. python如何攻击网站_GitHub - wuhuanyan/buy_pig_plan_python: 用Python写的『电话攻击,电话轰炸,电话炸弹』...
  3. 加西亚·马尔克斯致读者《告别信》来源:infzm.com
  4. 为什么需要使用云计算技术?
  5. 2023最新计算机毕业设计题目汇总大全
  6. 联想y7000p怎么开启高性能模式?
  7. 苹果开发者账号可以创建多少测试证书_苹果开发者账号对应生成的证书都有哪些...
  8. 蓄力-利用POI进行excel的导入导出(包含图片)
  9. JS实现html页面点击下载文件的两种实现方法
  10. k8s学习-Secret(创建、使用、更新、删除等)