tensorflow的版本:1.2.1
python:3.5
使用的代码
import tensorflow as tf
tf.gfile
#print(tf.__version__)
path = r'J:\img'
sub_dirs = [x[0] for x in tf.gfile.Walk(path)]
for i in sub_dirs:
print(i)
在gfile.Walk(path)遇到的错误:
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 514, in walk
for subitem in walk(os.path.join(top, subdir), in_order):
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 514, in walk
for subitem in walk(os.path.join(top, subdir), in_order):
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 495, in walk
listing = list_directory(top)
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 474, in list_directory
compat.as_bytes(dirname), status)
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 473, in <listcomp>
for filename in pywrap_tensorflow.GetChildren(
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\util\compat.py", line 106, in as_str_any
return as_str(value)
File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\util\compat.py", line 84, in as_text
return bytes_or_text.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 4: invalid start byte
提示错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 4: invalid start byte
说明路径中含有中文。
解决方案:
但是在tensorflow1.10之前的版本,可以正常使用,因此需要将tensorflow降低版本,或者path的路径下的子目录全部为英文