NameError: name 'raw_input' is not defined错误解决

最近开始学习python发现报错“NameError: name 'raw_input' is not defined”,原来raw_input()是以前版本的函数,在最新的3.X版本中应该替换成input()成功解决。input()按下任意键结束输入。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常表示您在尝试将`None`类型的对象(例如`None`)应用于日期格式化字符串的`strftime()`方法。这通常是因为您的日期对象为空或未正确加载。请检查您的代码并确保您已正确加载日期对象。 在您的代码中,这可能是由于以下原因之一引起的: - 您没有正确设置日期对象,或者日期对象为空。 - 日期对象的格式不是`datetime.datetime`类型,因此无法使用`strftime()`方法。 要解决此问题,请确保您正确加载日期对象,并使用`type()`函数检查其类型。如果它不是`datetime.datetime`类型,则需要将其转换为该类型。以下是一个示例代码,它将检查行日期是否为`None`,并在不为空的情况下将其转换为`datetime.datetime`类型: ``` # 获取所有查询条件 date = self.date_entry.get() name = self.line_entry1.get() name1 = self.line_entry2.get() name2 = self.line_entry3.get() # 查询数据 ws = openpyxl.load_workbook(output_path2).active rows = ws.iter_rows(min_row=1, values_only=True) records = [] header = next(rows) for row in rows: # 检查行日期是否为空,并转换为 datetime.datetime 类型 if row[2] is not None: row_date = row[2] if not isinstance(row_date, datetime.datetime): row_date = datetime.datetime.strptime(row_date, '%Y/%m/%d') else: row_date = None # 模糊匹配日期 if (not date or (row_date is not None and date in row_date.strftime('%Y/%m/%d'))) and \ (not name or row[5] == name) and \ (not name1 or row[8] == name1) and \ (not name2 or row[6] == name2): records.append(row) ``` 在上面的代码中,我们对行日期进行了额外的检查,并使用`datetime.datetime.strptime()`方法将其转换为`datetime.datetime`类型。我们还在模糊匹配日期之前添加了对`row_date`是否为`None`的检查,以避免出现`NoneType`错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值