python多个main方法_Python,main方法未运行(同一文件中有多个类)
上下文:
我开发了一个在远程linux服务器上运行的python脚本。使用python3.6.1运行。这个脚本可以工作,但是非常混乱,并且按照程序编写,与OO相反。所以,我把这个脚本重写成两个不同的类。一个主类和一个对象的blueprint类。在
我的剧本要复杂得多,我只是为了这个问题简化了它。在
所需功能:
从CSV文件读取值。从这些值创建对象,每行1个对象。对初始化对象(在objects类中)的值进行一些计算。让这些对象可以从主类(基类)访问。在
问题:
我需要澄清一下:主方法未运行。尝试了方法调用的变体,比如基本.main(),包括基类中的“if name”语句,并且它抱怨未定义self
“自我”参考。我的用法正确吗?例如:将属性“age”添加到Person对象中,以便可以使用人.年龄例如。我的方法调用“self.input_文件处理(Base.inputFilePath)“等等
脚本:import csv
class Person:
def calculate_age(self):
self.age = 2017 - self.birthYear
def __init__(self, name, birthYear):
self.name = self.strip_characters(self, name)
self.birthYear = int(birthYear)
self.calculate_age()
class Base:
inputFilePath = "input.csv"
people = []
def main():
self.input_file_handling(Base.inputFilePath)
#More methods here
@staticmethod
def input_file_handling(input_file_path):
input_file_path = str(input_file_path)
with open(input_file_path, 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for line in csv_reader:
name = line['Name']
age = line['age']
person = Person(name, age)
people.append(person)
if __name__ == '__main__':
main()
python多个main方法_Python,main方法未运行(同一文件中有多个类)相关推荐
- 有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,各有一个main函数,谁在前先执行谁!
发现一有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,个有一个main函数,谁在前先执行谁! //Detergent.java //Class:Detergent,Clean ...
- python __reduce__魔法方法_Python魔法方法指南
(译)Python魔法方法指南 简介 本指南归纳于我的几个月的博客,主题是 魔法方法 . 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法" ...
- python魔法方法和普通方法_Python魔法方法之属性访问详解!
练习要求: 写一个矩形类,默认有宽和高两个属性. 如果为一个叫square的属性赋值赋值,那么说明这是一个正方形,值就是正方形的边长,此时宽和高都应该等于边长. 技术分析 我们先来看看有关于属性的四个 ...
- python检测excel是否打开_Python判断远程服务器上Excel文件是否被人打开的方法_学领未来...
最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件. 开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明 ...
- python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法
有人会 python语言 对BT种子解析 吗bt的客户端,本来就有纯python编写的. 你找一个下载就可以了. 我印象中bittorrent就是python编写的. python开发很方便,也很快. ...
- python getattribute方法_python魔法方法 _getattr_ 和 __getattribute__
python的easyDict库,是一个属性调用友好库 python中对象属性的获取链 在使用obj.value时,python内部执行顺序如下: obj.value等价于getattr(obj,'v ...
- python contains魔法方法_python魔法方法
Python 魔术方法指南 入门 构造和初始化 构造定制类用于比较的魔术方法 用于数值处理的魔术方法 表现你的类 控制属性访问 创建定制序列 反射 可以调用的对象 会话管理器 创建描述器对象 持久化对 ...
- python魔法方法_Python魔法方法指南
有很多人说学习Python基础之后不知道干什么,不管你是从w3c还是从廖雪峰的教程学习的,这些教程都有一个特点:只能引你快速入门,但是有关于Python的很多基础内容这些教程中都没介绍,而这些你没学习 ...
- python替换txt指定内容_python 实现类似sed命令的文件内容替换
#!/usr/bin/env python #_*_coding:utf-8 _*_ #replace()方法把字符串中的 old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换 ...
最新文章
- 【转】apache常用配置
- Python面试必知(四)
- android开发检测用户是否使用了虚拟定位
- asp.net甘特图控件exG2antt介绍及免费下载
- 单行文字垂直居中,多行文字垂直居中
- 用 CSS 实现元素垂直居中,有哪些好的方案?
- HTTPS协议在Tomcat中启用的配置
- php里的stdclass,PHP中的stdClass是什么?
- LeetCode167 | Two Sum II - Input array is sorted (Easy)
- redis缓存雪崩,缓存穿透,缓存击穿的解决方法
- android 约束 布局_Android约束布局动画
- Word中封面怎么设置不显示页码?
- Gitee部署静态网页
- 8421码的加减矫正
- 视频教程-10分钟搞定 php+H5手机网页微信支付 在线视频教程(含源代码)-微信开发
- 计算机视觉物体识别的过程,(物体识别过程.doc
- 解决linux有时候不能粘贴
- java实现微信小程序加密数据解密的代码怎么写
- 矩阵快速幂(51nod)
- 《计算机网络 自顶向下》第一章==计算机网络和因特网==随堂笔记