Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python查看目录中每个文件的第一行_Python_File_Loops_Hex - Fatal编程技术网

如何使用python查看目录中每个文件的第一行

如何使用python查看目录中每个文件的第一行,python,file,loops,hex,Python,File,Loops,Hex,我想以十六进制格式查看目录中每个文件的第一行 我可以使用循环对所有文件执行此操作,但我需要一种方法来查看文件的前几个字节 有什么想法吗?首先,您可以读取目录中的所有文件名 for filename in os.listdir(os.getcwd()): 然后您可以读取每个文件的第一行 这是完整的代码 import os def readFile(filename): with open(filename) as f: for line in f:

我想以十六进制格式查看目录中每个文件的第一行

我可以使用循环对所有文件执行此操作,但我需要一种方法来查看文件的前几个字节


有什么想法吗?

首先,您可以读取目录中的所有文件名

for filename in os.listdir(os.getcwd()):
然后您可以读取每个文件的第一行

这是完整的代码

import os

def readFile(filename):
    with open(filename) as f:
        for line in f:
            print line
            break

for filename in os.listdir(os.getcwd()):
    readFile(filename)

这将对您有用:-

from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir('folderPath') if isfile(join('folderPath', f))]

for file in onlyfiles:
    with open(join('folderPath', file), 'r') as f:
        first_line = f.readline()
        print first_line

pushpendra chauhan的答案是正确的,但是为什么我们应该在没有必要的时候使用for循环(我们每次只循环一次!)?(我不能评论,因为我没有足够的声誉)

另一件事是,如果路径中有任何子目录,这将引发IOError。因此,在尝试打开当前“文件”之前,我使用os.path添加了一行,以查看当前“文件”是否实际上是一个文件

import os

def read_first_line(filename):
    with open(filename) as f:
        print f.readline()

for filename in os.listdir(os.getcwd()):
    if os.path.isfile(filename): read_first_line(filename)

文件编码为十六进制吗?或者要将文件内容转换为十六进制?请参阅: