我在开发函数时遇到了一些小问题。Python版本问题
的问题是与下面的功能。
def clean_file(filename, file_lines):
file_lines = re.sub(CRYPTO_RE, subst, file_lines, re.DOTALL)
file_lines = re.sub(REMOVE_RE, subst, file_lines, re.DOTALL)
file_lines = re.sub(BANNER_RE, subst, file_lines, re.DOTALL)
return get_hostname_from_file(filename, file_lines)
我在2.7系统上开发,但它最终将运行在2.6系统上。我无法升级2.6系统,因为它用于其他事情。
在2.6你只是做re.DOTALL,但2.7的系统上,你必须包含标志= re.DOTALL,使其工作。
我可以降级我Python版本相匹配的生产系统,但我想以编程方式接近这一点,并通过编码解决的问题。授予降级将是更实际的答案。
有没有办法,我可以做到运行函数之前的Python版本检查?
[Python 2.6上的''re.sub'](https://docs.python.org/release/2.6/library/re.html #re.sub)根本不占用'flags',你会将're.DOTALL'作为'count'传递。 – jonrsharpe