python中用os.path.join()得到的路径可以用来读取文件里面的文本内容吗?
forroot,dirs,filesinos.walk(root_dir):forfileinfiles:file_root=os.path.join(root,file...
for root, dirs, files in os.walk(root_dir):
for file in files:
file_root = os.path.join(root,file)#把文件路径和文件名结合起来
text = open('abs_file_name','r')
print(text)
结果出来的是这些看不懂的东西,我本来是要读取里面的文本的呀:
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\20.plant' mode='r' encoding='cp936'>
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\238.plant' mode='r' encoding='cp936'>
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\427.plant' mode='r' encoding='cp936'>
请会的亲指教!谢谢! 展开
for file in files:
file_root = os.path.join(root,file)#把文件路径和文件名结合起来
text = open('abs_file_name','r')
print(text)
结果出来的是这些看不懂的东西,我本来是要读取里面的文本的呀:
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\20.plant' mode='r' encoding='cp936'>
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\238.plant' mode='r' encoding='cp936'>
<_io.TextIOWrapper name='D:\\GDUFS\\term 6\\Object-oriented Programming\\week 5\\assignment\\animals and plants\\files\\0\\427.plant' mode='r' encoding='cp936'>
请会的亲指教!谢谢! 展开
2个回答
展开全部
文件不是这样读的,改为:
text = open('abs_file_name','r')
for fr in test.readlines():
print(fr)
text = open('abs_file_name','r')
for fr in test.readlines():
print(fr)
追问
谢谢你!请问为什么要用readlines的呢?通常情况下我单用open(r'').read()或者open('', 'r')也是可以的,为什么在上述情况下却不可以的呢?谢谢!
追答
read(): 是读整个文件,将整个文件的内容当成一个字符串处理,以后你不能按行处理文件内容。
readlines():也是读整个文件,但会将文件内容分析成一个行的列表,python可以按行处理其内容。
所以用以上两种都可,但不能直接print(text),须print(text.read())
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询