Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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_Regex_File_Path_Directory - Fatal编程技术网

加载、打开和操作Python中的正则表达式和文本文件

加载、打开和操作Python中的正则表达式和文本文件,python,regex,file,path,directory,Python,Regex,File,Path,Directory,我有以前的代码来加载和打开此路由中的所有.txt文件。我想执行为该路由中的所有txt文件实现的Regex函数 它不起作用,它给了我: import re import os def scan_folder(parent): # iterate over all the files in directory 'parent' for file_name in os.listdir(parent): if file_name.endswith(".txt"):

我有以前的代码来加载和打开此路由中的所有.txt文件。我想执行为该路由中的所有txt文件实现的Regex函数

它不起作用,它给了我:

import re
import os

def scan_folder(parent):
    # iterate over all the files in directory 'parent'
    for file_name in os.listdir(parent):
        if file_name.endswith(".txt"):
            mensaje = file_name.read()
            mensaje = mensaje.replace("\n","")

            # Number of CVE from "DiarioOficial"
            regex = r"\s*CVE\s+([^|]*)"
            matches = re.search(regex, mensaje)
            if matches:
                print (matches.group(1).strip())
scan_folder("/Users/.../DiarioOficial")
回溯(最近一次呼叫最后一次):
文件“/Users/anna/PycharmProjects/extractData/Principal.py”,第80行,在
扫描文件夹(“/Users/anna/PycharmProjects/extractData/diarioficial”)
文件“/Users/anna/PycharmProjects/extractData/Principal.py”,第16行,在扫描文件夹中
mensaje=文件名.read()
AttributeError:“str”对象没有属性“read”
我想浏览所有文件,并在每个文件中进行相同的操作。

您应该替换:

Traceback (most recent call last):
  File "/Users/anna/PycharmProjects/extractData/Principal.py", line 80, in <module>
    scan_folder("/Users/anna/PycharmProjects/extractData/DiarioOficial")
  File "/Users/anna/PycharmProjects/extractData/Principal.py", line 16, in scan_folder
    mensaje = file_name.read()
AttributeError: 'str' object has no attribute 'read'
与:


你错过了一份公开声明。文件名是一个字符串对象,它只是文件名。要首先打开文件,必须调用open。最方便的方法是使用这样的open,因为这样可以避免手动关闭文件:

mensaje = open(file_name).read()

你从未打开过这个文件<代码>文件名是一个字符串,首先需要打开文件(用<代码>打开()/代码>函数)从文件中读取。
mensaje = open(file_name).read()
with open(file_name) as f:
    mensaja = f.read()