user: How do I use Bpy.Types.Filehandler in Blender? Include parameters, examples, warnings and best practices.

assistant: eChecker(TextureNode) TextureNodeCombineColor(TextureNode) TextureNodeCompose(TextureNode) TextureNodeCoordinates(TextureNode) TextureNodeCurveRGB(TextureNode) TextureNodeCurveTime(TextureNode) TextureNodeDecompose(TextureNode) TextureNodeDistance(TextureNode) TextureNodeGroup(TextureNode) TextureNodeHueSaturation(TextureNode) TextureNodeImage(TextureNode) TextureNodeInvert(TextureNode) TextureNodeMath(TextureNode) TextureNodeMixRGB(TextureNode) TextureNodeOutput(TextureNode) TextureNodeRGBToBW(TextureNode) TextureNodeRotate(TextureNode) TextureNodeScale(TextureNode) TextureNodeSeparateColor(TextureNode) TextureNodeTexBlend(TextureNode) TextureNodeTexClouds(TextureNode) TextureNodeTexDistNoise(TextureNode) TextureNodeTexMagic(TextureNode) TextureNodeTexMarble(TextureNode) TextureNodeTexMusgrave(TextureNode) TextureNodeTexNoise(TextureNode) TextureNodeTexStucci(TextureNode) TextureNodeTexVoronoi(TextureNode) TextureNodeTexWood(TextureNode) TextureNodeTexture(TextureNode) TextureNodeTranslate(TextureNode) TextureNodeTree(NodeTree) TextureNodeValToNor(TextureNode) TextureNodeValToRGB(TextureNode) TextureNodeViewer(TextureNode) TextureSlot(bpy_struct) Theme(bpy_struct) ThemeBoneColorSet(bpy_struct) ThemeClipEditor(bpy_struct) ThemeCollectionColor(bpy_struct) ThemeCommon(bpy_struct) ThemeCommonAnim(bpy_struct) ThemeCommonCurves(bpy_struct) ThemeConsole(bpy_struct) ThemeDopeSheet(bpy_struct) ThemeFileBrowser(bpy_struct) ThemeFontStyle(bpy_struct) ThemeGradientColors(bpy_struct) ThemeGraphEditor(bpy_struct) ThemeImageEditor(bpy_struct) ThemeInfo(bpy_struct) ThemeNLAEditor(bpy_struct) ThemeNodeEditor(bpy_struct) ThemeOutliner(bpy_struct) ThemePreferences(bpy_struct) ThemeProperties(bpy_struct) ThemeRegions(bpy_struct) ThemeRegionsAssetShelf(bpy_struct) ThemeRegionsChannels(bpy_struct) ThemeRegionsScrubbing(bpy_struct) ThemeRegionsSidebars(bpy_struct) ThemeSequenceEditor(bpy_struct) ThemeSpaceGeneric(bpy_struct) ThemeSpaceGradient(bpy_struct) ThemeSpreadsheet(bpy_struct) ThemeStatusBar(bpy_struct) ThemeStripColor(bpy_struct) ThemeStyle(bpy_struct) ThemeTextEditor(bpy_struct) ThemeTopBar(bpy_struct) ThemeUserInterface(bpy_struct) ThemeView3D(bpy_struct) ThemeWidgetColors(bpy_struct) ThemeWidgetStateColors(bpy_struct) TimelineMarker(bpy_struct) TimelineMarkers(bpy_struct) Timer(bpy_struct) ToolSettings(bpy_struct) TrackToConstraint(Constraint) TransformCacheConstraint(Constraint) TransformConstraint(Constraint) TransformOrientation(bpy_struct) TransformOrientationSlot(bpy_struct) TriangulateModifier(Modifier) UDIMTile(bpy_struct) UDIMTiles(bpy_struct) UILayout(bpy_struct) UIList(bpy_struct) UIPieMenu(bpy_struct) UIPopover(bpy_struct) UIPopupMenu(bpy_struct) UI_UL_list(UIList) USDHook(bpy_struct) USERPREF_UL_asset_libraries(UIList) USERPREF_UL_extension_repos(UIList) UVLoopLayers(bpy_struct) UVProjectModifier(Modifier) UVProjector(bpy_struct) UVWarpModifier(Modifier) UnifiedPaintSettings(bpy_struct) UnitSettings(bpy_struct) UnknownType(bpy_struct) UserAssetLibrary(bpy_struct) UserExtensionRepo(bpy_struct) UserExtensionRepoCollection(bpy_struct) UserSolidLight(bpy_struct) UvSculpt(bpy_struct) VIEW3D_AST_brush_gpencil_paint(AssetShelf) VIEW3D_AST_brush_gpencil_sculpt(AssetShelf) VIEW3D_AST_brush_gpencil_vertex(AssetShelf) VIEW3D_AST_brush_gpencil_weight(AssetShelf) VIEW3D_AST_brush_sculpt(AssetShelf) VIEW3D_AST_brush_sculpt_curves(AssetShelf) VIEW3D_AST_brush_texture_paint(AssetShelf) VIEW3D_AST_brush_vertex_paint(AssetShelf) VIEW3D_AST_brush_weight_paint(AssetShelf) VIEW3D_AST_pose_library(AssetShelf) VIEW3D_FH_camera_background_image(FileHandler) VIEW3D_FH_empty_image(FileHandler) VIEW3D_FH_vdb_volume(FileHandler) VIEWLAYER_UL_aov(UIList) VIEWLAYER_UL_linesets(UIList) VOLUME_UL_grids(UIList) VectorFont(ID) VertexGroup(bpy_struct) VertexGroupElement(bpy_struct) VertexGroups(bpy_struct) VertexPaint(Paint) VertexWeightEditModifier(Modifier) VertexWeightMixModifier(Modifier) VertexWeightProximityModifier(Modifier) View2D(bpy_struct) View3DCursor(bpy_struct) View3DOverlay(bpy_struct) View3DShading(bpy_struct) ViewLayer(bpy_struct) ViewLayerEEVEE(bpy_struct) ViewLayers(bpy_struct) ViewerNodeViewerPathElem(ViewerPathElem) ViewerPath(bpy_struct) ViewerPathElem(bpy_struct) Volume(ID) VolumeDisplaceModifier(Modifier) VolumeDisplay(bpy_struct) VolumeGrid(bpy_struct) VolumeGrids(bpy_struct) VolumeRender(bpy_struct) VolumeToMeshModifier(Modifier) VoronoiTexture(Texture) WORKSPACE_UL_addons_items(UIList) WalkNavigation(bpy_struct) WarpModifier(Modifier) WaveModifier(Modifier) WeightedNormalModifier(Modifier) WeldModifier(Modifier) WhiteBalanceModifier(StripModifier) Window(bpy_struct) WindowManager(ID) WipeStrip(EffectStrip) WireframeModifier(Modifier) WoodTexture(Texture) WorkSpace(ID) WorkSpaceTool(bpy_struct) World(ID) WorldLighting(bpy_struct) WorldMistSettings(bpy_struct) XrActionMap(bpy_struct) XrActionMapBinding(bpy_struct) XrActionMapBindings(bpy_struct) XrActionMapItem(bpy_struct) XrActionMapItems(bpy_struct) XrActionMaps(bpy_struct) XrComponentPath(bpy_struct) XrComponentPaths(bpy_struct) XrEventData(bpy_struct) XrNavigation(bpy_struct) XrSessionSettings(bpy_struct) XrSessionState(bpy_struct) XrUserPath(bpy_struct) XrUserPaths(bpy_struct) bpy_prop_collection bpy_prop_collection_idprop bpy_struct wmOwnerID(bpy_struct) wmOwnerIDs(bpy_struct) wmTools(bpy_struct) Shared Enum Types Toggle navigation of Shared Enum Types Id Type Items Object Mode Items Workspace Object Mode Items Object Empty Drawtype Items Object Gpencil Type Items Metaelem Type Items Color Space Convert Default Items Proportional Falloff Items Proportional Falloff Curve Only Items Snap Source Items Snap Element Items Snap Animation Element Items Curve Fit Method Items Mesh Select Mode Items Mesh Select Mode Uv Items Mesh Delimit Mode Items Space Graph Mode Items Space File Browse Mode Items Space Sequencer View Type Items Space Type Items Space Image Mode Items Space Image Mode All Items Space Action Mode Items Fileselect Params Sort Items Region Type Items Object Modifier Type Items Constraint Type Items Boidrule Type Items Strip Modifier Type Items Strip Video Modifier Type Items Strip Sound Modifier Type Items Strip Scale Method Items Object Shaderfx Type Items Modifier Triangulate Quad Method Items Modifier Triangulate Ngon Method Items Modifier Shrinkwrap Mode Items Shrinkwrap Type Items Shrinkwrap Face Cull Items Node Warning Type Items Image Type All Items Image Color Mode Items Image Color Depth Items Image Generated Type Items Normal Space Items Normal Swizzle Items Bake Save Mode Items Bake Margin Type Items Bake Target Items Views Format Items Views Format Multilayer Items Views Format Multiview Items Stereo3D Display Items Stereo3D Anaglyph Type Items Stereo3D Interlace Type Items Exr Codec Items Color Sets Items Beztriple Keyframe Type Items Beztriple Interpolation Mode Items Beztriple Interpolation Easing Items Fcurve Auto Smoothing Items Keyframe Handle Type Items Driver Target Rotation Mode Items Keyingset Path Grouping Items Keying Flag Items Keying Flag Api Items Fmodifier Type Items Motionpath Bake Location Items Motionpath Display Type Items Motionpath Range Items Event Value Items Event Direction Items Event Type Items Event Type Mask Items Operator Type Flag Items Operator Return Items Operator Property Tag Items Brush Automasking Flag Items Brush Sculpt Brush Type Items Brush Vertex Brush Type Items Brush Weight Brush Type Items Brush Gpencil Types Items Brush Gpencil Vertex Types Items Brush Gpencil Sculpt Types Items Brush Gpencil Weight Types Items Brush Curves Sculpt Brush Type Items Brush Image Brush Type Items Brush Curve Preset Items Grease Pencil Selectmode Items Stroke Depth Order Items Axis Xy Items Axis Xyz Items Axis Flag Xyz Items Symmetrize Direction Items Texture Type Items Light Type Items Lightprobes Type Items Unpack Method Items Object Type Items Object Rotation Mode Items Object Type Curve Items Rigidbody Object Type Items Rigidbody Object Shape Items Rigidbody Constraint Type Items Object Axis Items Bake Pass Type Items Bake Pass Filter Type Items Keymap Propvalue Items Operator Context Items Wm Report Items Wm Job Type Items Property Type Items Property Subtype Items Property Subtype String Items Property Subtype Number Items Property Subtype Number Array Items Property Unit Items Property Flag Items Property Flag Enum Items Property Override Flag Items Property Override Flag Collection Items Property String Search Flag Items Shading Type Items Navigation Mode Items Node Socket In Out Items Node Socket Type Items Node Tree Interface Item Type Items Node Socket Structure Type Items Node Math Items Mapping Type Items Node Vec Math Items Node Boolean Math Items Node Compare Operation Items Node Integer Math Items Node Float To Int Items Node Map Range Items Node Clamp Items Node Compositor Extension Items Node Compositor Interpolation Items Ramp Blend Items Prop Dynamicpaint Type Items Clip Editor Mode Items Icon Items Uilist Layout Type Items Linestyle Color Modifier Type Items Linestyle Alpha Modifier Type Items Linestyle Thickness Modifier Type Items Linestyle Geometry Modifier Type Items Window Cursor Items Dt Method Vertex Items Dt Method Edge Items Dt Method Loop Items Dt Method Poly Items Dt Mix Mode Items Dt Layers Select Src Items Dt Layers Select Dst Items Context Mode Items Preference Section Items Attribute Type Items Color Attribute Type Items Attribute Type With Auto Items Attribute Domain Items Attribute Domain Edge Face Items Attribute Domain Only Mesh Items Attribute Domain Only Mesh No Edge Items Attribute Domain Only Mesh No Corner Items Attribute Domain Point Face Curve Items Attribute Domain Point Edge Face Curve Items Attribute Curves Domain Items Color Attribute Domain Items Attribute Domain Without Corner Items Attribute Domain With Auto Items Geometry Component Type Items Node Combsep Color Items Node Socket Data Type Items Node Geometry Curve Handle Side Items Node Geometry Mesh Circle Fill Type Items Volume Grid Data Type Items Collection Color Items Strip Color Items Subdivision Uv Smooth Items Subdivision Boundary Smooth Items Transform Orientation Items Velocity Unit Items Curves Type Items Curves Handle Type Items Curve Normal Mode Items Geometry Nodes Gizmo Color Items Geometry Nodes Linear Gizmo Draw Style Items Particle Edit Hair Brush Items Particle Edit Disconnected Hair Brush Items Keyframe Paste Offset Items Keyframe Paste Offset Value Items Keyframe Paste Merge Items Transform Pivot Full Items Transform Mode Type Items Nla Mode Extend Items Nla Mode Blend Items Keyblock Type Items Asset Library Type Items File Path Foreach Flag Items Types with Custom Property Support Utilities (bpy.utils) Toggle navigation of Utilities (bpy.utils) bpy.utils submodule (bpy.utils.previews) bpy.utils submodule (bpy.utils.units) Path Utilities (bpy.path) Application Data (bpy.app) Toggle navigation of Application Data (bpy.app) Application Handlers (bpy.app.handlers) Application Translations (bpy.app.translations) Application Icons (bpy.app.icons) Application Timers (bpy.app.timers) Property Definitions (bpy.props) Standalone Modules Audio System (aud) Additional Math Functions (bl_math) Font Drawing (blf) BMesh Module (bmesh) Toggle navigation of BMesh Module (bmesh) BMesh Operators (bmesh.ops) BMesh Types (bmesh.types) BMesh Utilities (bmesh.utils) BMesh Geometry Utilities (bmesh.geometry) Extra Utilities (bpy_extras) Toggle navigation of Extra Utilities (bpy_extras) bpy_extras submodule (bpy_extras.anim_utils) bpy_extras submodule (bpy_extras.asset_utils) bpy_extras submodule (bpy_extras.object_utils) bpy_extras submodule (bpy_extras.io_utils) bpy_extras submodule (bpy_extras.image_utils) bpy_extras submodule (bpy_extras.keyconfig_utils) bpy_extras submodule (bpy_extras.mesh_utils) bpy_extras submodule (bpy_extras.node_utils) bpy_extras submodule (bpy_extras.view3d_utils) bpy_extras submodule (bpy_extras.id_map_utils) Freestyle Module (freestyle) Toggle navigation of Freestyle Module (freestyle) Freestyle Types (freestyle.types) Freestyle Predicates (freestyle.predicates) Freestyle Functions (freestyle.functions) Freestyle Chaining Iterators (freestyle.chainingiterators) Freestyle Shaders (freestyle.shaders) Freestyle Utilities (freestyle.utils) Toggle navigation of Freestyle Utilities (freestyle.utils) freestyle.utils submodule (freestyle.utils.ContextFunctions) GPU Module (gpu) Toggle navigation of GPU Module (gpu) GPU Types (gpu.types) GPU Matrix Utilities (gpu.matrix) GPU Select Utilities (gpu.select) GPU Shader Utilities (gpu.shader) GPU State Utilities (gpu.state) GPU Texture Utilities (gpu.texture) GPU Platform Utilities (gpu.platform) GPU Capabilities Utilities (gpu.capabilities) GPU Utilities (gpu_extras) Toggle navigation of GPU Utilities (gpu_extras) gpu_extras submodule (gpu_extras.batch) gpu_extras submodule (gpu_extras.presets) ID Property Access (idprop.types) Image Buffer (imbuf) Toggle navigation of Image Buffer (imbuf) Image Buffer Types (imbuf.types) Math Types & Utilities (mathutils) Toggle navigation of Math Types & Utilities (mathutils) Geometry Utilities (mathutils.geometry) BVHTree Utilities (mathutils.bvhtree) KDTree Utilities (mathutils.kdtree) Interpolation Utilities (mathutils.interpolate) Noise Utilities (mathutils.noise) 5.0 Versions Loading... Note You are not using the most up to date version of the documentation. is the newest version. Back to top Toggle Light / Dark / Auto color theme Toggle table of contents sidebar FileHandler(bpy_struct) ¶ Basic FileHandler for importing a single file ¶ A file handler allows custom drag-and-drop behavior to be associated with a given Operator ( FileHandler.bl_import_operator ) and set of file extensions ( FileHandler.bl_file_extensions ). Control over which area of the UI accepts the drag-in-drop action is specified using the FileHandler.poll_drop method. Similar to operators that use a file select window, operators participating in drag-and-drop, and only accepting a single file, must define the following property: filepath : bpy . props . StringProperty ( subtype = &#39;FILE_PATH&#39; , options = { &#39;SKIP_SAVE&#39; }) This filepath property will be set to the full path of the file dropped by the user. import bpy class CurveTextImport ( bpy . types . Operator ): """ Creates a text object from a text file. """ bl_idname = "curve.text_import" bl_label = "Import a text file as text object" # This Operator supports processing one `.txt` file at a time. The following file-path # property must be defined. filepath : bpy . props . StringProperty ( subtype = &#39;FILE_PATH&#39; , options = { &#39;SKIP_SAVE&#39; }) @classmethod def poll ( cls , context ): return ( context . area and context . area . type == "VIEW_3D" ) def execute ( self , context ): # Direct calls to this Operator may use unsupported file-paths. Ensure the incoming # file-path is one that is supported. if not self . filepath or not self . filepath . endswith ( ".txt" ): return { &#39;CANCELLED&#39; } # Create a Blender Text object from the contents of the provided file. with open ( self . filepath ) as file : text_curve = bpy . data . curves . new ( type = "FONT" , name = "Text" ) text_curve . body = &#39;&#39; . join ( file . readlines ()) text_object = bpy . data . objects . new ( name = "Text" , object_data = text_curve ) bpy . context . scene . collection . objects . link ( text_object ) return { &#39;FINISHED&#39; } # By default the file handler invokes the operator with the file-path property set. If the # operator also supports being invoked with no file-path set, and allows the user to pick from a # file select window instead, the following logic can be used. # # Note: It is important to use `options={&#39;SKIP_SAVE&#39;}` when defining the file-path property to # avoid prior values from being reused on subsequent calls. def invoke ( self , context , event ): if self . filepath : return self . execute ( context ) context . window_manager . fileselect_add ( self ) return { &#39;RUNNING_MODAL&#39; } # Define a file handler that supports the following set of conditions: # - Execute the `curve.text_import` operator # - When `.txt` files are dropped in the 3D Viewport class CURVE_FH_text_import ( bpy . types . FileHandler ): bl_idname = "CURVE_FH_text_import" bl_label = "File handler for curve text object import" bl_import_operator = "curve.text_import" bl_file_extensions = ".txt" @classmethod def poll_drop ( cls , context ): return ( context . area and context . area . type == &#39;VIEW_3D&#39; ) bpy . utils . register_class ( CurveTextImport ) bpy . utils . register_class ( CURVE_FH_text_import ) FileHandler for Importing multiple files and exposing Operator options ¶ Operators which support being executed with multiple files from drag-and-drop require the following properties be defined: directory : StringProperty ( subtype = &#39;DIR_PATH&#39; , options = { &#39;SKIP_SAVE&#39; , &#39;HIDDEN&#39; }) files : CollectionProperty ( type = OperatorFileListElement , options = { &#39;SKIP_SAVE&#39; , &#39;HIDDEN&#39; }) These directory and files properties will be set with the necessary data from the drag-and-drop operation. Additionally, if the operator provides operator properties that need to be accessible to the user, the ImportHelper.invoke_popup method can be used to show a dialog leveraging the standard Operator.draw method for layout and display. import bpy from bpy_extras.io_utils import ImportHelper from mathutils import Vector class ShaderScriptImport ( bpy . types . Operator , ImportHelper ): """ Creates one or more Shader Script nodes from text files. """ bl_idname = "shader.script_import" bl_label = "Import a text file as a script node" # This Operator supports processing multiple `.txt` files at a time. The following properties # must be defined. directory : bpy . props . StringProperty ( subtype = &#39;DIR_PATH&#39; , options = { &#39;SKIP_SAVE&#39; , &#39;HIDDEN&#39; }) files : bpy . props . Co