Metadata-Version: 1.1
Name: carson-file
Version: 0.0.1
Summary: create a temp file, memory file, rename, move, copy, kill the process, get attribute, create a directory, etc.
Home-page: https://github.com/CarsonSlovoka/carson-file
Author: Carson
Author-email: jackparadise520a@gmail.com
License: Apache-2.0
Download-URL: https://github.com/CarsonSlovoka/carson-file/tarball/v0.0.1
Description: ===================
        File
        ===================
        
        .. sectnum::
        
        
        
        Install
        ===============
        
            * ``pip install carson-file``
        
        import packages
        ===============
        
        .. code-block:: python
        
            from Carson.Class.File import FileHelper, TempFile, MemoryFile
        
        
        SOURCE DOCUMENT
        ===============
        
        FileHelper
        --------------
        
        class FileHelper
          Class methods defined here:
          
          delete_dir(dir_path)
              recursive delete all files include directory.
          
          file_path_add_prefix(file, pre_fix_name) -> str
              >>> FileHelper.file_path_add_prefix("C:\Test\fileA.txt", "My")
              'C:\Test\MyfileA.txt'
          
          get_file_attrib(file)
          
          get_file_info(file)
          
          get_file_path(file)
              to get filename which name is too long
          
          get_file_properties(file) -> dict
              Read all properties of the given file and return them as a dictionary.
              
              EXAMPLE::
              
                  prop = FileHelper.get_file_properties(r"C:\Windows\System32\cmd.exe")
                  for key, value in prop['StringFileInfo'].items():
                      print(f'{key:<15} {value if value else "":<30}')
        
              OUTPUT::
        
                  Comments
                  InternalName    cmd
                  ProductName     Microsoft® Windows® Operating System
                  CompanyName     Microsoft Corporation
                  LegalCopyright  © Microsoft Corporation. All rights reserved.
                  ProductVersion  10.0.18362.356
                  FileDescription Windows 命令處理程式
                  LegalTrademarks
                  PrivateBuild
                  FileVersion     10.0.18362.356 (WinBuild.160101.0800)
                  OriginalFilename Cmd.Exe.MUI
                  SpecialBuild
          
          if_dir_not_exist_then_create(chk_path, is_dir_name_have_dot=False) -> bool
              :return: True: create successful, otherwise not.
          
          is_illegal_file_name(file_path)
          
          move_file(src_file, dst_file)
              .. warning:: dst_file that will be replaced of src_file no matter dst_file exists or not.
        
          
          name_normalized(file_path, is_need_rename=False, list_replace_mapping=(('[', '☶'), (']', '☲')), option: dict) -> tuple
              if filename that contains illegal character then will replace those character by "list_replace_mapping" to rename the file.
              
              USAGE::
        
                  name_normalized = FileHelper.name_normalized
                  new_path, be_normalized = name_normalized("C:\\[dir]\\sub_dir\\my_[test].txt")
                  ('C:\\☶dir☲\\sub_dir\\my_☶test☲.txt', True)
        
                  name_normalized("C:\\[dir]\\sub_dir\\my_[test].txt", only_base_name=True)
                  ('C:\\[dir]\\sub_dir\\my_☶test☲.txt', Ture)
              
                  name_normalized("my_[test].txt", only_base_name=True)
                  my_☶test☲.txt, True
              
                  name_normalized("my_[test].txt")
                  'my_☶test☲.txt', True
              
                  name_normalized("my_test.txt")
                  'my_test.txt', False
          
          rename(src_file, dst_file, ignore_file_exist_error)
        
          copy_config(org_config) -> configparser.ConfigParser
              .. note:: you can assign the string to `org_config`, but its data must be able to read by ConfigParser
        
              USAGE::
        
                  org_config = configparser.ConfigParser()
                  org_config.read([file1, file2], encoding='utf-8')
                  new_config = FileHelper.copy_config(org_config)
        
          Static methods defined here:
          
          kill_process(kill_name_list: List[str])
         
        
        class MemoryFile
          easier to write or read data from memory
          
          USAGE::
          
              import pandas as pd
              tmp_file = MemoryFile()
              tmp_file.write('name|age')
              tmp_file.write('Carson|26')
              tmp_file.writelines(['Person_1|18', 'Person_2|12'])
              print(tmp_file.read())
              tmp_file.io.seek(0)
              print(tmp_file.readline())  # make sure cursor waiting position is what you want before readline
              tmp_file.io.seek(0)
              df = pd.read_csv(tmp_file.io, sep='|')  # must seek(0) before read_csv.
              tmp_file.close()
          
              with MemoryFile(MemoryFile.IoType.BYTE) as tmp_file_2:
                  tmp_file_2.write('name|age')
                  tmp_file_2.write('中文|26')
                  tmp_file_2.writelines(['Person_1|18', 'Person_2|12'])
                  print(tmp_file_2.read())
                  tmp_file_2.seek(0)
                  print(tmp_file_2.readline())
                  tmp_file_2.seek(0)
                  df = pd.read_csv(tmp_file_2.io, sep='|')
          
                  with open('temp.temp', 'wb') as f:
                      f.write(tmp_file_2.read())
                  with open('temp.temp', 'r', encoding='utf-8') as f:
                      print(f.read())
        
        class TempFile
          If you need temp file and that can be auto-deleted after you aren't using it.
          
          USAGE::
        
              with TempFile('temp.temp') as tmp_f:
                  tmp_f.close()  # it's only using for other programs will do something by it (Option)
                  other_process(tmp_file_path)
        
        
        more detail please see the source file.
        
        all function and class have illustrate in source file
Keywords: File
Platform: UNKNOWN
Classifier: Topic :: System :: Logging
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Natural Language :: Chinese (Traditional)
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
