当前位置: 首页 > news >正文

电商网站欣赏查询网站到期时间

电商网站欣赏,查询网站到期时间,天津网站建设设计开发公司,无法使用wordpress文章目录 前言1. 起因2. 调查3. 高能4. 释惑 前言 今天分享一件很诡异的事情#xff0c;我写代码的时候遇到了不可见的字符#xff01;#xff01;#xff01; 1. 起因 今天在使用pipreqs导出项目中所依赖的库时突然报错了#xff1a; pipreqs . --encodingutf-8 --forc… 文章目录 前言1. 起因2. 调查3. 高能4. 释惑 前言 今天分享一件很诡异的事情我写代码的时候遇到了不可见的字符 1. 起因 今天在使用pipreqs导出项目中所依赖的库时突然报错了 pipreqs . --encodingutf-8 --force# 以下是报错信息 ERROR: Failed on file: ./build.py Traceback (most recent call last):File /usr/local/bin/pipreqs, line 8, in modulesys.exit(main())File /usr/local/lib/python3.8/dist-packages/pipreqs/pipreqs.py, line 528, in maininit(args)File /usr/local/lib/python3.8/dist-packages/pipreqs/pipreqs.py, line 455, in initcandidates get_all_imports(input_path,File /usr/local/lib/python3.8/dist-packages/pipreqs/pipreqs.py, line 131, in get_all_importsraise excFile /usr/local/lib/python3.8/dist-packages/pipreqs/pipreqs.py, line 117, in get_all_importstree ast.parse(contents)File /usr/lib/python3.8/ast.py, line 47, in parsereturn compile(source, filename, mode, flags,File unknown, line 1# -*- coding:utf-8 -*-^ SyntaxError: invalid character in identifier直接来了SyntaxError#竟然是个无效字符字符#表示十分的无辜当事人表示十分的震惊这不是离天下之大谱滑天下之大稽吗这就一行代码注释能够错到哪里去 2. 调查 头一次遇到这种邪门的事情我就查看了一下pipreqs 源码代码很简单我就摘取了报错的部分 # pipreqs/pipreqs.py line 112 for file_name in files:file_name os.path.join(root, file_name)with open(file_name, r, encodingencoding) as f:contents f.read()try:tree ast.parse(contents) # 在这里报错了for node in ast.walk(tree):if isinstance(node, ast.Import):for subnode in node.names:raw_imports.add(subnode.name)elif isinstance(node, ast.ImportFrom):raw_imports.add(node.module)except Exception as exc:...意思也很好理解pipreqs读取当前工程下的所有python文件然后使用ast库进行语法分析获取python文件所依赖的库名。既然这部分报错了我就直接拿了出来此时我高度怀疑ast存在重大bug 3. 高能 为了确认ast在解析文件时存在bug我对当前工程下的所有python文件进行一一测试然而事情的发展却超出了我的预料第二个文件(process_data.py)竟然能够可以解析   我看了下这个文件开头也是一样的注释然而却没有报错。难道是编码有问题我打开了Pycharm看了一下也没有问题 这也太诡异了吧然后我又debug了一下看下文件的内容确定也没有问题 想不通了于是问了下ChatGPT 给出了四个怀疑点基本都是一一排除了python 3.8、文件为utf-8编码无语法错误注释也没有什么问题。但有一个点却无法理解不可见的特殊字符   不可见既然是个字符即使不可见也得有位置吧。于是乎最诡异的事情来了 还真的有一个空字符在第一个位置这。。。空字符还能占个位置   打印了一下ASCII发现其值竟然是65279空字符竟然有ASCII值顿时觉得这个问题不简单难道还真的不可见 4. 释惑 百度了一下发现ASCII值为65279是因为文件采用UTF-8 BOM编码导致的这是Windows环境下创建文件时默认的编码方式对此还专门看了一下还真是 这在Pycharm中也有这项设置默认情况下在Pycharm中创建新文件时会采用UTF-8 with NO BOM编码也就是常说的UTF-8而之所以ast库有的能够正常解析文件有的却不可以是可能有的文件不是在Pycharm中创建的导致了这种诡异的时间发生了。同时我用二进制的方式读了一下文件发现前三个字节是\xEF\xBB\xBF这也正是UTF-8 BOM编码时自动添加的。 py_file ./build.py with open(py_file, r, encodingutf-8) as f:contents f.read()if ord(contents[0]) 65279:print(UTF-8 BOM)with open(py_file, rb) as f:contents f.read(3)if contents b\xEF\xBB\xBF:print(UTF-8 BOM)# UTF-8 BOM # UTF-8 BOM于是将文件编码由UTF-8 BOM改为UTF-8问题就解决了
http://www.hkea.cn/news/14363922/

相关文章:

  • 注册账号自建网站商丘做建设网站的公司
  • 自然景观网站模板程序员知识网站需要多少钱
  • 网站价值排行计算机程序设计网站开发
  • 5款免费的网站管理系统电商付费推广有哪些
  • 能够做外贸的网站有哪些问题西安网页搭建
  • 物联网网站设计网站后台如何添加关键词
  • 怎么做可以访问网站连接加密梅林多丽工业区做网站
  • 欧美 手机网站模板下载 迅雷下载 迅雷下载地址住房和城乡建设岗位评定网站
  • 江苏省城市建设信用手册网站上海网站优化上
  • 网站建设的 几点企业网站建设基本流程
  • 360浏览器打不开90设计网站南宁有名的网络公司
  • 从入门到精通网站建设怎么注册自己的小程序
  • 雅安市网站建设最新注册的公司在哪里可以查询
  • 黄村专业网站建设公司网站难做
  • 国外网建站php网站开发有什么优点
  • 做外贸一般总浏览的网站新乡手机网站建设
  • 简单网站模板下载石家庄百度推广排名
  • 土建找工作去哪个网站安徽网站seo公司
  • 网站备案 空间备案 域名备案wordpress口腔
  • 建立一个网站的步骤单页网站的域名
  • 珠宝网站模版做吉祥物的网站
  • 企业网站建设难吗网站开发建设及推广合同
  • 做网站优化公司报价wordpress 分享类主题
  • 建设政务网站报告wordpress能支持微信排版
  • 网站添加wordpress博客网站程序前台
  • 湘潭网站建设 沟通磐石网络网站营销活动策划
  • 建设一个电商网站的步骤wordpress中国风主题
  • 微信网站制作平台网站后台用户管理系统
  • 旅游精品网站建设创办一个网站要多少钱
  • 学做网站的书四川省第十一建筑公司官网