我想将我的类的一个实例传递给 write() 并将其写入文件。底层数据只是一个字节数组。
mine = MyClass()
with open('Test.txt', 'wb') as f:
f.write(mine)
Run Code Online (Sandbox Code Playgroud)
我尝试实施__bytes__无济于事。我知道缓冲区协议,但我相信它只能通过 C API 实现(尽管我确实看到了对实现该协议的底层对象的委托的讨论)。
我现在遇到的问题是,我只想通过抓住所有内容来管理我的源文件列表,并删除一些我不需要的几率.我希望Cmake为此提供了很好的内置工具.
所以我可以从:
file(GLOB A "Application/*.cpp")
Run Code Online (Sandbox Code Playgroud)
我觉得我想创建另一个要删除的文件列表,我想告诉CMake:从列表中删除列表B中的项目.
如果这是Python我可能会做类似的事情:
C = [f for f in A if f not in B]
Run Code Online (Sandbox Code Playgroud)
我可能已经搞砸了这种语法,但我想知道是否有内置支持以更优雅的方式管理这些文件列表?
即使我可以做类似我的Python示例,A是绝对路径列表,因此构造B是笨重的.
为什么绝对路径呢?一旦你重新定位源代码,这似乎会破坏你的构建.
我正在使用 Thud (2.6),我想清除 /etc/default/dropbear 的内容。ROOTFS_POSTPROCESS_COMMAND看起来很有希望,但以下未能创建空文件。没有错误。
该配方完成的其他工作成功。
SRC_URI += "file://authorized_keys"
SRC_URI += "file://dropbear_rsa_host_key"
# Configuration file to be installed in /etc/default.
# SRC_URI += "file://dropbear"
S = "${WORKDIR}"
do_install() {
install -d ${D}/etc/dropbear
install -m 0600 ${S}/authorized_keys ${D}/etc/dropbear
install -m 0600 ${S}/dropbear_rsa_host_key ${D}/etc/dropbear
}
clear_dropbear_default_configuration() {
rm ${D}/etc/default/dropbear
touch ${D}/etc/default/dropbear
echo "Hello" > hello.txt
}
FILES_${PN} += "/etc/dropbear"
FILES_${PN} += "/etc/dropbear/authorized_keys"
FILES_${PN} += "/etc/dropbear/dropbear_rsa_host_key"
ROOTFS_POSTPROCESS_COMMAND += "clear_dropbear_default_configuration;"
# FILES_${PN} += "/etc/default/dropbear"
Run Code Online (Sandbox Code Playgroud)