一个中文冒号引发的“血案”

简介: 一个中文冒号引发的“血案”

背景

美好的七夕刚刚过了一半,突然收到了同事的 询问,我们线上运行的脚步转换工具突然不能用了,紧急求助。


接下来 我们排查一下问题,随即我打开网址 执行一切正常;那么好办了,可能是文件格式的问题,要来源文件,进行debug.


美好的七夕刚刚过了一半,突然收到了同事的 询问,我们线上运行的脚步转换工具突然不能用了,紧急求助。


接下来 我们排查一下问题,随即我打开网址 执行一切正常;那么好办了,可能是文件格式的问题,要来源文件,进行debug.

解决步骤

用同事发来的文件 进行执行 果然报错了,报错如图:

TypeError: The view function for 'convert_file' did not return a valid response. The function either returned None or ended without a return statement.
  1. 先搜索一下这个问题,看看有没有前辈踩过坑

找到一个,好像对咱们解决问题,没有什么帮助

  1. 接下来,我们打断点一步一步定位,最终走到这一步时,灵光一下

这一步是写文件的操作,结合报错返回的信息【None】猜想是不是最后谢文件的时候报错了!!

  1. 接着,我们排查一下原文件,有没有什么特殊的地方

问题找到了,这里有个中文的冒号,我们写文件操作时,文件名称取的是title,然后windows文件名称是不允许中文冒号存在的

备注

windows文件名中不能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”。
详细命名规则如下:
1、允许文件或者文件夹名称不得超过255个字符;
2、 文件名除了开头之外任何地方都可以使用空格;
3、文件名中不能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”;
4、 Windows 98文件名不区分大小写,但在显示时可以保留大小写格式;
5、 文件名中可以包含多个间隔符。

解决

  • 保存文件时,去除特殊符号,操作如下:
rstr = r"[\/\\\:\*\?\"\<\>\|]" # '/ \ : * ? " < > |'
tree.write('{}/jmeter-'.format(ST.report_path) + re.sub(rstr, "-", file_name)  + '.jmx', pretty_print=True, xml_declaration=True,
           encoding='utf-8')
  • 问题解决


相关文章
|
运维 监控 Java
探索Elasticsearch在Java环境下的全文检索应用实践
【6月更文挑战第30天】在大数据背景下,Elasticsearch作为分布式搜索分析引擎,因其扩展性和易用性备受青睐。本文指导在Java环境中集成Elasticsearch,涉及安装配置、使用RestHighLevelClient连接、索引与文档操作,如创建索引、插入文档及全文检索查询。此外,还讨论了高级查询、性能优化和故障排查,帮助开发者高效处理非结构化数据全文检索。
318 0
|
数据库 网络虚拟化
卧槽,VPN又断开了!!
最近,家里事情非常多,很长时间没上班了。偶尔会打开钉钉群看一下工作情况。结果今天下午打开钉钉一看,运营群炸锅了,很多人都在说:卧槽,又不能访问了,什么情况啊?断网了吗?系统崩
5091 2
卧槽,VPN又断开了!!
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
这篇文章提供了一个对英文初学者友好的删除GitHub代码仓库的详细图解过程,但实际内容似乎与标题不符,主要是介绍了如何在GitHub上创建代码仓库的步骤,包括注册账号、创建新仓库、填写仓库信息、设置仓库可见性以及添加README文件等,并提供了相关操作的引用链接。
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
|
存储 Java 关系型数据库
【Elasticsearch 技术分享】—— 十张图带大家看懂 ES 原理 !明白为什么说:ES 是准实时的!
说到 Elasticsearch ,其中最明显的一个特点就是 near real-time 准实时 —— 当文档存储在Elasticsearch中时,将在1秒内以几乎实时的方式对其进行索引和完全搜索。那为什么说 ES 是准实时的呢?
1506 0
|
自然语言处理 IDE 持续交付
对标 VSCode?JetBrains 新一代 IDE 登场: Fleet
对标 VSCode?JetBrains 新一代 IDE 登场: Fleet
1219 0
|
小程序 C#
C#工程建立后修改工程文件名与命名空间
使用之前的项目做二次开发,项目快结束的时候,需要把主项目的名称修改成我们想要的。 之前从来没有这么干过,记录一下。
317 0
element table表格表头动态渲染效果demo(整理)
element table表格表头动态渲染效果demo(整理)
|
运维 资源调度 Kubernetes
没有银弹,只有取舍 - Serverless Kubernetes 的思考与征程(一)
本文试着梳理 Kubernetes 所遇到的挑战,设计 Serverless Kubernetes的原因、挑战和发展路径。
1806 0
没有银弹,只有取舍 - Serverless Kubernetes 的思考与征程(一)
|
存储 索引
SAP ABAP——内表(三)【工作区与表头】
本文主要介绍一下SAP ABAP中内表的工作区和表头
6327 0
SAP ABAP——内表(三)【工作区与表头】