Well… There are several questions here actually:
I. Is it normal that the installation directory of Blender grows after the first launch?
YES: Blender is only distributed with “pure” python files, the first time those get used/executed, the python interpreter will sort of compile them into an intermediary “machine language” code (similar to assembler, but universal and that still has to be interpreted by the python engine, not directly by the processor). You can find all those .pyc
files in special __pycache__
directories next to all py modules (UI scripts, addons,.etc.).
See also this thread and the official py doc.
II. Can I modify some Blender's python files by accident by just working normally on a blend file?
NO: Usual editing of a .blend file will never touch anything on your file system. Unless it has been manually and maliciously crafted to do so, of course (a .blend file can easily execute arbitrary python code, which means it can wipe out your whole system if it wants to) - that’s why in .blend opening settings you have an option to “trust” the file or not.
III. Can I modify some of Blender scripts such that they delete and/or corrupt data in .blend files?
NO in general, but YES if you really want it. @Vitaliy already answered the general case: modifying “randomly” some script files of Blender is highly unlikely to have any bad effect on your saved data, it is much much more probable that it will just very soon error.
However, it is possible to modify a py script such that it breaks saving valid data (the simplest way to do so is to register a save_pre
handler, and in that handler to e.g. delete all scenes or other nasty things like that. You can also generate invalid data (broken mesh, etc.) that will crash Blender on next load of the file, but that’s not so obvious to do. But yes, if you really want to, you do can break saving of .blend
files from py script, like pretty much anything else in Blender.