如何在批处理文件中找到所有未终止的百分号实例?

huangapple go评论151阅读模式
英文:

How to find all instances of an unterminated percent sign in a batch file?

问题

这是您要翻译的代码部分:

  1. def check_unterminated_percent_signs(content):
  2. # check for unterminated percent signs
  3. errors = []
  4. for i, line in enumerate(content.split('\n')):
  5. match = re.search(r'%[^%\n]*$', line)
  6. if match:
  7. errors.append(f'Unterminated percent sign found on line {i+1}, position {match.start()}: {line.strip()}')
  8. return errors

以下是已经翻译好的内容:

我有一个Python函数,用于查找批处理文件中的潜在错误,我正在尝试解决的问题之一是查找任何具有未终止百分号的行。然而,此函数似乎返回了每个具有百分号的行上的每个“%”符号。

目前的函数如下,但它没有完成我需要的任务:

以下是不应触发错误的批处理文件中的一行:

  1. set Log_File=%Backup_Folder%\Logs\daily_copy.log
英文:

I have a python function that looks through a batch file for potential errors, and the one that I am looking to resolve is to find any lines that have an unterminated percent sign. However, this function seems to be returning every % sign on every line that has a % sign.

Here is the function I have at the moment, which is not doing what I need it to do:

  1. def check_unterminated_percent_signs(content):
  2. # check for unterminated percent signs
  3. errors = []
  4. for i, line in enumerate(content.split('\n')):
  5. match = re.search(r'%[^%\n]*$', line)
  6. if match:
  7. errors.append(f'Unterminated percent sign found on line {i+1}, position {match.start()}: {line.strip()}')
  8. return errors

<br>

Here is a line from the batch file that should not trigger the error:

  1. set Log_File=%Backup_Folder%\Logs\daily_copy.log

答案1

得分: 0

这是解决我的问题的代码:

  1. def check_unterminated_percent_signs(content):
  2. # 检查未终止的百分号符号
  3. errors = []
  4. for i, line in enumerate(content.split('\n')):
  5. num_percent_signs = line.count('%')
  6. if num_percent_signs % 2 == 1:
  7. errors.append(f'第{i+1}行发现未终止的百分号符号: {line.strip()}')
  8. return errors
英文:

Thanks DarkKnight,

This is the code that solved my problem:

  1. def check_unterminated_percent_signs(content):
  2. # check for unterminated percent signs
  3. errors = []
  4. for i, line in enumerate(content.split(&#39;\n&#39;)):
  5. num_percent_signs = line.count(&#39;%&#39;)
  6. if num_percent_signs % 2 == 1:
  7. errors.append(f&#39;Unterminated percent sign found on line {i+1}: {line.strip()}&#39;)
  8. return errors

huangapple
  • 本文由 发表于 2023年3月31日 18:32:09
  • 转载请务必保留本文链接:https://go.coder-hub.com/75897504.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定