我在開發函數時遇到了一些小問題。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