create a temp file, memory file, rename, move, copy, kill the process, get attribute, create a directory, etc.
Project description
1 Install
pip install carson-file
2 import packages
from Carson.Class.File import FileHelper, TempFile, MemoryFile
3 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)
- 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
-
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file carson-file-0.0.1.tar.gz
.
File metadata
- Download URL: carson-file-0.0.1.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ffec1554953ce05559ff155f22cbfdce232d12c91708cd0e6e6ecb58b1c5f73 |
|
MD5 | 5bc4e10b85b136f30cd157d1a64499bb |
|
BLAKE2b-256 | 292c80a17da6412e3acc47af51c5d3ded79a211149607da4dfcdf18bd2e8531a |