打开我从os.listdir获取名称的文件时找不到文件

时间:2016-03-29 19:14:14

标签: python

我试图使用下面显示的代码读取我在文件夹中的几个文件的前20个字符:

import os
path = raw_input("Enter the path: ")
listing = sorted(os.listdir(path))
for infile in listing:
    print "current file is: " + infile
    with open(infile) as fl: # Use fl to refer to the file object
        #print infile
        data = fl.read(20)
        print data
        fl.close()

但是我收到了这个错误:

Enter the path: /home/david/dat_files_new

current file is: raw_57_0000.dat
# == pyFAI calibrati
current file is: raw_57_0001.dat

---------------------------------------------------------------------------
IOError                                   Traceback (most recent call last)
<ipython-input-53-7292764186b6> in <module>()
      7 for infile in listing:
      8     print "current file is: " + infile
----> 9     with open(infile) as fl: # Use fl to refer to the file object
     10         #print infile
     11         data = fl.read(20)

IOError: [Errno 2] No such file or directory: 'raw_CL20_57_0001.dat'

如果我评论with语句及其下面的所有内容,我可以列出目录中的所有文件。

这就是代码的作用:

  • 对目录中的文件进行排序 - &gt;完成

  • 打印第一个文件的名称 - &gt;完成

  • 读取第一个文件的前20个字符 - &gt;完成

  • 打印seconde文件的名称 - &gt;完成

  • 读取第二个文件的前20个字符 - &gt;失败

  • 读取第二个文件的前20个字符

0 个答案:

没有答案