Best way to load image from list python script





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1












$begingroup$


For some reason i have append images , now i want load all image by step.



image_path  = C:
image_list=
for fn in os.listdir(image_path):
image_list.append(fn)
###first_image = bpy.data.images.load(image_list[0]) <----?
###second_image = bpy.data.images.load(image_list[1]) <----?









share|improve this question











$endgroup$



















    1












    $begingroup$


    For some reason i have append images , now i want load all image by step.



    image_path  = C:
    image_list=
    for fn in os.listdir(image_path):
    image_list.append(fn)
    ###first_image = bpy.data.images.load(image_list[0]) <----?
    ###second_image = bpy.data.images.load(image_list[1]) <----?









    share|improve this question











    $endgroup$















      1












      1








      1





      $begingroup$


      For some reason i have append images , now i want load all image by step.



      image_path  = C:
      image_list=
      for fn in os.listdir(image_path):
      image_list.append(fn)
      ###first_image = bpy.data.images.load(image_list[0]) <----?
      ###second_image = bpy.data.images.load(image_list[1]) <----?









      share|improve this question











      $endgroup$




      For some reason i have append images , now i want load all image by step.



      image_path  = C:
      image_list=
      for fn in os.listdir(image_path):
      image_list.append(fn)
      ###first_image = bpy.data.images.load(image_list[0]) <----?
      ###second_image = bpy.data.images.load(image_list[1]) <----?






      python






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 2 at 8:54







      Andrea

















      asked Apr 2 at 8:20









      AndreaAndrea

      6019




      6019






















          1 Answer
          1






          active

          oldest

          votes


















          3












          $begingroup$

          Try this to batch load a list of images in a folder:



          import bpy
          from os.path import join, isfile
          from os import listdir

          imageObjects =
          imagePath = '/users/you/yourImagePath'
          imgFiles = [
          join( imagePath, fn ) # Create full paths to images
          for fn in listdir( imagePath ) # For each item in the image folder
          if isfile( join( imagePath, fn ) ) # If the item is indeed a file
          and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
          ]

          # Load entire list of images
          for imgFile in imgFiles:
          # Add to image object list to use later
          imageObjects.append( bpy.data.images.load( imgFile ) )

          # Load a specific index from the list (5th in the list in this example)
          imgObj = bpy.data.images.load( imgFiles[4] )





          share|improve this answer











          $endgroup$













          • $begingroup$
            ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
            $endgroup$
            – Andrea
            Apr 2 at 8:48






          • 1




            $begingroup$
            @Andrea see edit and LMK if this is what you meant
            $endgroup$
            – TLousky
            Apr 2 at 8:57










          • $begingroup$
            Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
            $endgroup$
            – Andrea
            Apr 2 at 9:25






          • 1




            $begingroup$
            try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
            $endgroup$
            – TLousky
            Apr 2 at 9:34










          • $begingroup$
            Work very fine is very usefull, ty
            $endgroup$
            – Andrea
            Apr 2 at 9:41












          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "502"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f135956%2fbest-way-to-load-image-from-list-python-script%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3












          $begingroup$

          Try this to batch load a list of images in a folder:



          import bpy
          from os.path import join, isfile
          from os import listdir

          imageObjects =
          imagePath = '/users/you/yourImagePath'
          imgFiles = [
          join( imagePath, fn ) # Create full paths to images
          for fn in listdir( imagePath ) # For each item in the image folder
          if isfile( join( imagePath, fn ) ) # If the item is indeed a file
          and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
          ]

          # Load entire list of images
          for imgFile in imgFiles:
          # Add to image object list to use later
          imageObjects.append( bpy.data.images.load( imgFile ) )

          # Load a specific index from the list (5th in the list in this example)
          imgObj = bpy.data.images.load( imgFiles[4] )





          share|improve this answer











          $endgroup$













          • $begingroup$
            ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
            $endgroup$
            – Andrea
            Apr 2 at 8:48






          • 1




            $begingroup$
            @Andrea see edit and LMK if this is what you meant
            $endgroup$
            – TLousky
            Apr 2 at 8:57










          • $begingroup$
            Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
            $endgroup$
            – Andrea
            Apr 2 at 9:25






          • 1




            $begingroup$
            try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
            $endgroup$
            – TLousky
            Apr 2 at 9:34










          • $begingroup$
            Work very fine is very usefull, ty
            $endgroup$
            – Andrea
            Apr 2 at 9:41
















          3












          $begingroup$

          Try this to batch load a list of images in a folder:



          import bpy
          from os.path import join, isfile
          from os import listdir

          imageObjects =
          imagePath = '/users/you/yourImagePath'
          imgFiles = [
          join( imagePath, fn ) # Create full paths to images
          for fn in listdir( imagePath ) # For each item in the image folder
          if isfile( join( imagePath, fn ) ) # If the item is indeed a file
          and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
          ]

          # Load entire list of images
          for imgFile in imgFiles:
          # Add to image object list to use later
          imageObjects.append( bpy.data.images.load( imgFile ) )

          # Load a specific index from the list (5th in the list in this example)
          imgObj = bpy.data.images.load( imgFiles[4] )





          share|improve this answer











          $endgroup$













          • $begingroup$
            ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
            $endgroup$
            – Andrea
            Apr 2 at 8:48






          • 1




            $begingroup$
            @Andrea see edit and LMK if this is what you meant
            $endgroup$
            – TLousky
            Apr 2 at 8:57










          • $begingroup$
            Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
            $endgroup$
            – Andrea
            Apr 2 at 9:25






          • 1




            $begingroup$
            try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
            $endgroup$
            – TLousky
            Apr 2 at 9:34










          • $begingroup$
            Work very fine is very usefull, ty
            $endgroup$
            – Andrea
            Apr 2 at 9:41














          3












          3








          3





          $begingroup$

          Try this to batch load a list of images in a folder:



          import bpy
          from os.path import join, isfile
          from os import listdir

          imageObjects =
          imagePath = '/users/you/yourImagePath'
          imgFiles = [
          join( imagePath, fn ) # Create full paths to images
          for fn in listdir( imagePath ) # For each item in the image folder
          if isfile( join( imagePath, fn ) ) # If the item is indeed a file
          and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
          ]

          # Load entire list of images
          for imgFile in imgFiles:
          # Add to image object list to use later
          imageObjects.append( bpy.data.images.load( imgFile ) )

          # Load a specific index from the list (5th in the list in this example)
          imgObj = bpy.data.images.load( imgFiles[4] )





          share|improve this answer











          $endgroup$



          Try this to batch load a list of images in a folder:



          import bpy
          from os.path import join, isfile
          from os import listdir

          imageObjects =
          imagePath = '/users/you/yourImagePath'
          imgFiles = [
          join( imagePath, fn ) # Create full paths to images
          for fn in listdir( imagePath ) # For each item in the image folder
          if isfile( join( imagePath, fn ) ) # If the item is indeed a file
          and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
          ]

          # Load entire list of images
          for imgFile in imgFiles:
          # Add to image object list to use later
          imageObjects.append( bpy.data.images.load( imgFile ) )

          # Load a specific index from the list (5th in the list in this example)
          imgObj = bpy.data.images.load( imgFiles[4] )






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 2 at 8:56

























          answered Apr 2 at 8:41









          TLouskyTLousky

          12.3k11950




          12.3k11950












          • $begingroup$
            ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
            $endgroup$
            – Andrea
            Apr 2 at 8:48






          • 1




            $begingroup$
            @Andrea see edit and LMK if this is what you meant
            $endgroup$
            – TLousky
            Apr 2 at 8:57










          • $begingroup$
            Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
            $endgroup$
            – Andrea
            Apr 2 at 9:25






          • 1




            $begingroup$
            try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
            $endgroup$
            – TLousky
            Apr 2 at 9:34










          • $begingroup$
            Work very fine is very usefull, ty
            $endgroup$
            – Andrea
            Apr 2 at 9:41


















          • $begingroup$
            ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
            $endgroup$
            – Andrea
            Apr 2 at 8:48






          • 1




            $begingroup$
            @Andrea see edit and LMK if this is what you meant
            $endgroup$
            – TLousky
            Apr 2 at 8:57










          • $begingroup$
            Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
            $endgroup$
            – Andrea
            Apr 2 at 9:25






          • 1




            $begingroup$
            try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
            $endgroup$
            – TLousky
            Apr 2 at 9:34










          • $begingroup$
            Work very fine is very usefull, ty
            $endgroup$
            – Andrea
            Apr 2 at 9:41
















          $begingroup$
          ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
          $endgroup$
          – Andrea
          Apr 2 at 8:48




          $begingroup$
          ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
          $endgroup$
          – Andrea
          Apr 2 at 8:48




          1




          1




          $begingroup$
          @Andrea see edit and LMK if this is what you meant
          $endgroup$
          – TLousky
          Apr 2 at 8:57




          $begingroup$
          @Andrea see edit and LMK if this is what you meant
          $endgroup$
          – TLousky
          Apr 2 at 8:57












          $begingroup$
          Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
          $endgroup$
          – Andrea
          Apr 2 at 9:25




          $begingroup$
          Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
          $endgroup$
          – Andrea
          Apr 2 at 9:25




          1




          1




          $begingroup$
          try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
          $endgroup$
          – TLousky
          Apr 2 at 9:34




          $begingroup$
          try to replace the imports from os.path and add basename. Like this: from os.path import join, isfile, basename. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0]). Basename extracts the filename from a full path.
          $endgroup$
          – TLousky
          Apr 2 at 9:34












          $begingroup$
          Work very fine is very usefull, ty
          $endgroup$
          – Andrea
          Apr 2 at 9:41




          $begingroup$
          Work very fine is very usefull, ty
          $endgroup$
          – Andrea
          Apr 2 at 9:41


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Blender Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f135956%2fbest-way-to-load-image-from-list-python-script%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Plaza Victoria

          In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

          How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...