如何在Python中编写CSV,中间有例外

如何在Python中编写CSV,中间有例外,python,csv,exception-handling,Python,Csv,Exception Handling,我试图解析目录并从某些文件中获取一些值。 我无法访问所有文件。 我想写一个脚本,它将从我可以读取的文件中写入结果,并简单地记录那些我无权访问的文件。 当我解析我有权访问所有文件的目录时,我的csv是完美的,但是如果抛出一个异常(我使用try-except处理),我的文件返回空的 def read_files_extract_stuff_and_write_to_csv(f, sasfile, writer): with SAS7BDAT(sasfile) as fsas: f

我试图解析目录并从某些文件中获取一些值。 我无法访问所有文件。 我想写一个脚本,它将从我可以读取的文件中写入结果,并简单地记录那些我无权访问的文件。 当我解析我有权访问所有文件的目录时,我的csv是完美的,但是如果抛出一个异常(我使用try-except处理),我的文件返回空的

def read_files_extract_stuff_and_write_to_csv(f, sasfile, writer):
   with SAS7BDAT(sasfile) as fsas:
       for col in fsas.columns:
           if(col.name == 'blah'):
               writer.writerow([sasfile, len(fasas.columns)])  

f = open(file.csv, 'w')
writer = csv.writer(f)
for sasfile in directory
   try:
      read_files_extract_stuff_and_write_to_csv(f, sasfile, writer)
   except Exception as ex:
      print(ex)
f.close()
我的主要例外是我无权读取这些文件。我只是想简单地跳过它们,但当我这样做时,它是一个空的csv

例外情况:
PermissionError:[Errno 13]权限被拒绝:'//filepath/filename'

捕获异常并继续,例如:

try:
    read_files_extract_stuff_and_write_to_csv(f, sasfile, writer)
except PermissionError:
    continue

捕获异常并继续,例如:

try:
    read_files_extract_stuff_and_write_to_csv(f, sasfile, writer)
except PermissionError:
    continue

你的代码看起来不错,但是如果看不到用注释替换的部分,就很难说问题出在哪里。那么,你会遇到什么异常情况?是IOError还是其他异常?权限错误:[Errno 13]权限被拒绝:“filepath/filename”您的代码不会运行,因为您对目录中的文件使用了
,但实际使用了
sasfile
。您试图更改原始代码,但我怀疑错误在于您更改的部分。是的,我的错,那只是一个输入错误。无法复制粘贴。这是一个高度浓缩的逻辑部分。如果我可以访问目录中的所有文件,那么代码工作正常。但是,如果有一个文件我无法访问,那么整个csv都是空的。您的代码看起来不错,但是如果没有看到您用注释替换的部分,就很难说您的问题出在哪里。那么,您会遇到什么异常情况?是IOError还是其他异常?权限错误:[Errno 13]权限被拒绝:“filepath/filename”您的代码不会运行,因为您对目录中的文件使用了
,但实际使用了
sasfile
。您试图更改原始代码,但我怀疑错误在于您更改的部分。是的,我的错,那只是一个输入错误。无法复制粘贴。这是一个高度浓缩的逻辑部分。如果我可以访问目录中的所有文件,那么代码工作正常。但如果有一个文件我无权访问,那么整个csv是空的。