C:\android-ndk-r25c-windows\android-ndk-r25c\simpleperf>python report_html.py File "report_html.py", line 43 if not isinstance(output_path, (str, Path)): ^ IndentationError: expected an indented block
时间: 2024-02-24 12:00:26 浏览: 186
这个错误提示表明 Python 解释器期望在 `if` 语句后面有一个缩进块,但是你的代码中并没有缩进块。
你需要在 `if` 语句后面添加一个缩进块,缩进块中包含 `if` 语句的执行代码。例如:
```python
def __init__(self, output_path):
if not isinstance(output_path, (str, Path)):
raise TypeError("output_path must be a string or a Path object.")
self.output_path = Path(output_path)
```
在这个例子中,缩进块使用了 4 个空格作为缩进。你需要确保在整个代码中使用相同数量的缩进。
相关问题
C:\android-ndk-r25c-windows\android-ndk-r25c\simpleperf>python report_html.py File "report_html.py", line 52 def open_tag(self, tag: str, **attrs: Dict[str, str]) -> HtmlWriter: ^ SyntaxError: invalid syntax 可能是python版本较低的原因,不想升级python版本,怎么改
你可以使用传统的参数类型检查方式,手动检查参数类型。例如,可以将第 52 行的代码修改为以下形式:
```python
from typing import Dict
class HtmlWriter:
# ...
def open_tag(self, tag, **attrs):
if not isinstance(tag, str):
raise TypeError("tag must be a string.")
if not isinstance(attrs, dict):
raise TypeError("attrs must be a dictionary.")
for key, value in attrs.items():
if not isinstance(key, str) or not isinstance(value, str):
raise TypeError("attrs must contain string keys and values.")
# ...
```
这样就可以在 Python 2.x 或早期版本的 Python 3 中运行了。
./android-ndk-r25c/sources/android/native_app_glue/Android.mk ./android-ndk-r25c/sources/android/support/Android.mk ./android-ndk-r25c/sources/android/ndk_helper/Android.mk ./android-ndk-r25c/sources/android/cpufeatures/Android.mk ./android-ndk-r25c/sources/cxx-stl/llvm-libc++abi/Android.mk ./android-ndk-r25c/sources/cxx-stl/llvm-libc++/Android.mk ./android-ndk-r25c/sources/third_party/googletest/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/libshaderc_util/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/third_party/glslang/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/third_party/spirv-tools/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/third_party/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/libshaderc/Android.mk ./android-ndk-r25c/sources/third_party/shaderc/Android.mk ./android-ndk-r25c/sources/third_party/vulkan/src/build-android/jni/Android.mk哪个是NDK编译的mk
这些都是 Android NDK 内部的 `Android.mk` 文件。其中,`./android-ndk-r25c/sources/android/native_app_glue/Android.mk` 是用于编译 Native Activity 示例应用程序的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/support/Android.mk` 是包含一些 Android 支持库的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/ndk_helper/Android.mk` 是包含一些辅助函数和类的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/cpufeatures/Android.mk` 是用于编译 `cpufeatures` 库的 `Android.mk` 文件,该库提供了一些 CPU 相关的信息和功能;`./android-ndk-r25c/sources/cxx-stl/llvm-libc++abi/Android.mk` 和 `./android-ndk-r25c/sources/cxx-stl/llvm-libc++/Android.mk` 是用于编译 C++ STL 库的 `Android.mk` 文件,分别对应 libc++abi 和 libc++ 两个 STL 库;`./android-ndk-r25c/sources/third_party/googletest/Android.mk` 是用于编译 Google Test 测试框架的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/Android.mk` 是用于编译 Shaderc 编译器的 `Android.mk` 文件,该编译器可以将 GLSL 代码编译成 SPIR-V 代码;`./android-ndk-r25c/sources/third_party/shaderc/libshaderc/Android.mk` 是用于编译 Shaderc 库的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/libshaderc_util/Android.mk` 是用于编译 Shaderc Util 库的 `Android.mk` 文件,该库提供了一些辅助函数和类;`./android-ndk-r25c/sources/third_party/shaderc/third_party/Android.mk` 是用于编译 Shaderc 编译器依赖的第三方库的 `Android.mk` 文件,包括 glslang 和 spirv-tools 两个库;`./android-ndk-r25c/sources/third_party/shaderc/third_party/glslang/Android.mk` 是用于编译 glslang 库的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/third_party/spirv-tools/Android.mk` 是用于编译 spirv-tools 库的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/vulkan/src/build-android/jni/Android.mk` 是用于编译 Vulkan 库的 `Android.mk` 文件。
如果您要在 Android NDK 中编写自己的 `Android.mk` 文件,可以参考这些示例文件。
阅读全文