如何修正失败的条件语句

时间:2019-08-18 06:57:10

标签: python-3.x if-statement

目标是确定扩展名,并根据目录中是否存在.LOG文件来输出两个不同的文本文件。这是我到目前为止所拥有的。

fp = '/home/path/to/file'

for content in fp:

  ext = os.path.splitext(content)[-1].upper() # splits root from extension

  if ext != ".LOG":

   with open(os.path.join('/home/path/to/file','Errorfile'),'w') as f:

          f.write('.LOG file not found')

  elif ext == '.LOG':

    with open(os.path.join(/home/path/to/file' ,'Correctfile') , 'w') as T:

    T.write('There is a .LOG file in directory)

该代码仅输出Errorfile,并且没有执行f.write行之后的任何代码。我的猜测可能是我构造条件语句的方式。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您正在使用“ w”模式,导致每次文件都被覆盖。而是使用附加模式,以便将日志添加到文件中,而不是每次都覆盖它们:

fp = '/home/path/to/file'

for content in fp:

  ext = os.path.splitext(content)[-1].upper() # splits root from extension

  if ext != ".LOG":

    with open(os.path.join('/home/path/to/file','Errorfile'),'a') as f:

        f.write('.LOG file not found\n')

  elif ext == '.LOG':

    with open(os.path.join('/home/path/to/file' ,'Correctfile') , 'a') as T:

        T.write('There is a .LOG file in directory\n')