诡异错误一: ValueError: embedded null character
使用如下语句读取名为0_xx.txt 文件时,遇到错误 ValueError: embedded null character
if __name__ == '__main__':
fr = open("F:\eclipse_workspace\machine_learning_example\Ch02\trainningDigits\0_38.txt")
for i in range(32):
lineStr = fr.readline()
lineStr = lineStr.strip()
print(lineStr)
pass
1、通过测试,确定错误确实是文件读取语句;
2、是否是文件中包含null字符呢?用ultraedit工具用16进制形式检查数据文件,没有发现有null字符;
3、是否是因为Windows中的编码和python中的编码形式不一样造成的呢?查看到文件编码为GBK格式,但python是可以正确读取GBK文件的,试了其它GBK文件,读取没有任何问题;
4、是不是因为文件名太长?把数据文件放在当前文件夹下,尝试读取确实没有问题。但真的是文件名太长的原因吗?这时候我才发现文件名中有个 ‘\0’ ,才如梦初醒。
注意:一般情况下,Python解释器会将遇到的‘\’识别为路径,会自动增加一个'\'以便和转义字符进行区分,但若遇到转义字符则不增加‘\’。
例如:上述文件名将被转换为 F:\\eclipse_workspace\\machine_learning_example\\Ch02\trainingDigits\0_38.txt。因而出错。
文件路径中若包含‘\0’、'\t' 等特殊转义字符时要特别注意。
推荐文件路径写法:
F:/eclipse_workspace/machine_learning_example/Ch02/trainningDigits/0_38.txt ,斜杠反过来了,这样就不会出现歧义了。 F:\\eclipse_workspace\\machine_learning_example\\Ch02\\trainningDigits\\0_38.txt
诡异错误一: ValueError: embedded null character的更多相关文章
- matplotlib.pyplot import报错: ValueError: _getfullpathname: embedded null character in path
Environment: Windows 10, Anaconda 3.6 matplotlib 2.0 import matplotlib.pyplot 报错: ValueError: _getfu ...
- Matplotlib ValueError: _getfullpathname: embedded null character
Traceback (most recent call last): File "<stdin>", line 1, in <module> File &q ...
- windows7,python3使用time.strftime()函数报ValueError: embedded null byte
windows7环境下,执行代码报ValueError: embedded null byte时,在原代码前面加一行代码:locale.setlocale(locale.LC_ALL,'en')即可解 ...
- python读取文件embedded null character是什么原因
地址的\需要转义符: 将\写成\\ 或者在整个字符串前面添加字母r
- Celery 在Windows下启动worker时出现错误:ValueError: not enough values to unpack (expected 3, got 0)
在公司Linux环境下没有出现问题,在回到家后直接在Windows10下运行出现错误: ValueError: not enough values to unpack (expected 3, got ...
- 除虫记之C#调用C函数出现的诡异错误
作者:朱金灿 来源:http://blog.csdn.net/clever101 同事反映在在项目中使用C#程序调用我们部门编写的C++模块出现一个诡异错误:在调用A算法失败后,其它算法均不能调 ...
- json.loads(s) returns error message like this: ValueError: Invalid control character at: line 1 column 33 (char 33)
json.loads(s) returns error message like this: ValueError: Invalid control character at: line 1 colu ...
- pytorch运行错误:ValueError: too many dimensions 'str'
问题: 本人在使用BERT进行微调的时候,在读取数据的时候出现了一个错误:ValueError: too many dimensions 'str' 于是我Debug了以后,发现问题出现在这个部 ...
- Linq编译带来的诡异错误
今天遇到一个很诡异的问题,初步猜测是Linq编译以及编译器自动优化带来的原因,对IL不是很熟悉,所以懒得去追了. 贴个代码出来,希望能抛砖引玉,得到正解. 注意到我用原始的foreach语句代替了li ...
随机推荐
- keyStore很重要,千万不能丢失
打包apk的时候需要对apk文件进行签名,如果想要自己给apk签名那么就要自己创建keystore.1.签名的意义为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package N ...
- Linux下BMP文件不能正常读取问题的解决办法
今天将之前在win下编好的读取BMP图像功能移植到UNIX下. 碰到的第一个问题是,Linux下的BMP文件头的结构体需要自己重新定义一遍. 第二个问题是,需要搞清楚Linux是32位的还是64位的. ...
- 跨进程通信之Messenger
1.简介 Messenger,顾名思义即为信使,通过它可以在不同进程中传递Message对象,通过在Message中放入我们需要的入局,就可以轻松实现数据的跨进程传递了.Messenger是一种轻量级 ...
- 关于拒绝测试驱动开发(NoTDD)
今天在reddit看到微软某大牛的博客(https://blogs.msdn.microsoft.com/ericgu/2017/06/22/notdd/),说到拒绝TDD(测试驱动开发,下文统一使用 ...
- 关于 静态页面布局 中的一些BUG
作为一枚初级程序猿,难免在制作静态页面时会遇到一些BUG,在此,我从网上找了一些资料并且结合自己的项目开发经验,总结了一些在静态页面布局时可能会遇到的问题,希望能对初级程序猿有一定的帮助(资料请参考: ...
- 【Python3之多进程】
一.进程和线程的简单解释 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 用生活举例: (转自阮一峰网络日志) 1.计算机的核心是CPU,它承担了所有 ...
- Perl根据日期分割数据文件
Perl的优势:比C好写,比Shell高效,Linux普遍支持. #!/usr/bin/perl -w # auth: lichmama@cnblogs.com # what: split data_ ...
- list-列表功能介绍
叨逼叨:列表是可变的,针对列表的改变,变得是列表本身,和字符串区别开来 #1.追加 # name = ['alex','eric','seven','qiqi'] # v = name.append( ...
- SSH框架 spring 配置中的: scope="prototype"
"可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理, 避免struts中Action的线程安全问题." 这句话怎么 ...
- HelloGitHub.com 网站开源了
简介 随着 HelloGitHub 月刊持续更新了一年多,内容变的越来越多.因为内容数据没有结构化,如果还是使用之前的编辑文本的方式编辑月刊内容,会对后面的继续发刊和维护带来了很多问题和多余的工作,例 ...