【优化】C#小程序集成实现python定时段批量下载电子邮箱附件的bug排除

简介: 【优化】C#小程序集成实现python定时段批量下载电子邮箱附件的bug排除

目录

1、测试问题与现象

2、排查和发现

3、bug危害和改正措施


继上一篇长文(

python实现电子邮件附件指定时间段,批量下载以及C#小程序集成实现_nanke_yh的博客-CSDN博客

https://blog.csdn.net/nanke_yh/article/details/120818221

)中所实现的程序之后,进行了相关的应用和测试,发现了一些bug,这些bug导致的问题比较严重,在这里进行排除和优化。


1、测试问题与现象


将程序拷贝至其他机器进行脱环境测试运行,发现存在秒运行结束现象,然后无文件输出。


2、排查和发现


首先怀疑是python开发的exe在新机器运行失败:直接使用cmd调用exe程序,发现运行结果正常;


再就是检查从c#端输入的参数是否正确:依次检查,发现默认截止日期,textBox5.Text上输出的日期为7位数,因为是月初,day位单数,那么其中的0被省略了。之前的代码:

textBox5.Text = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();+ DateTime.Now.Day.ToString();;

那么会导致这种现象,但是并不是导致秒运行结束的原因。因为手动输入截止日期还是存在秒运行结束的问题。


最后再次检查发现是保存路径下其中有个文件夹名内使用了空格:更改路径后正常,如此定位该问题所在。


3、bug危害和改正措施


在上面发现了两个bug,第一是截止日期中单月单日会被省略0字符。这将会导致下载和遍历的邮件时间范围对应不上,甚至检索不到该时间范围的邮件。


为此,需要补全被省去的“0”,改动:

string tempmonth, tempday;
if (DateTime.Now.Month.ToString().Length != 2)
{
    tempmonth = "0" + DateTime.Now.Month.ToString();
}
else
{
    tempmonth = DateTime.Now.Month.ToString();
}
if (DateTime.Now.Day.ToString().Length != 2)
{
    tempday = "0" + DateTime.Now.Day.ToString();
}
else
{
    tempday = DateTime.Now.Day.ToString();
}
textBox5.Text = DateTime.Now.Year.ToString() + tempmonth + tempday;

第二个bug则比较致命,因为是传入参数给python的程序运行,只应该传入6个参数,然后由于路径中多了一个空格,使之判断为传入七参数,导致运行失败。为此加上路径判断和提示:

if (FilePath.IndexOf(" ") != -1)
{
   MessageBox.Show("保存路径的文件夹名中存在空格会导致程序执行失败,请重新选择保存路径!", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
   return;
}

改正之后就都正常了,有兴趣的可以下载源码(内部包含.py文件和C#工程文件),自己尝试一下呀。

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
159 59
|
2月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
142 5
|
14天前
|
缓存 API C#
C# 一分钟浅谈:GraphQL 优化与性能提升
本文介绍了 GraphQL API 的常见性能问题及优化方法,包括解决 N+1 查询问题、避免过度取数据、合理使用缓存及优化解析器性能,提供了 C# 实现示例。
63 33
|
23天前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
|
2月前
|
机器学习/深度学习 数据采集 TensorFlow
智能市场营销策略优化:使用Python实现深度学习模型
【10月更文挑战第1天】 智能市场营销策略优化:使用Python实现深度学习模型
181 63
|
21天前
|
缓存 大数据 C语言
python优化
python优化
35 5
|
28天前
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
53 13
|
25天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
48 8
|
26天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品供应链优化的深度学习模型
使用Python实现智能食品供应链优化的深度学习模型
39 8
|
1月前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
63 2
下一篇
DataWorks