首先,我想为即使尝试这样做而道歉。我知道不建议以任何方式。然而,外部约束让我别无选择,只能走这条路。
我有一段位于只读文件系统上的python代码。我无法移动它。我不能修改它。它使用制表符和空格不一致。我需要使用-tt
选项导入此代码。
有没有办法忽略特定-tt
语句,特定代码部分或某个应用程序的import
选项?
答案 0 :(得分:1)
我完全承认这是一个可怕的,可怕的解决方案。我在等待downvotes:
dodgymodule.py:
def somefunc():
print("This is indented using 4 spaces")
print("This is indented using a tab")
主python脚本,它使用autopep8来修复代码并导入生成的字符串:
import autopep8
import imp
try:
import dodgymodule
except TabError as e:
with open(e.filename, 'r') as f:
new_module_contents = autopep8.fix_code(f.read())
dodgymodule = imp.new_module('dodgymodule')
exec(new_module_contents, dodgymodule.__dict__)
dodgymodule.somefunc()
python3 -tt script.py
按照希望打印出这些线条。