fileMapping
当前版本 0.3.18
用于快速调用文件夹下的py文件或者包
安装
使用以下命令通过pip安装fileMapping库:
pip install fileMapping
环境要求
fileMapping库的开发环境是: Python 3.13 Windows 10
如何使用?
示例代码
文件结构树
文件结构树
-
├─ main.py
├─ latest.log
├─ config.py / config.json
└─ plugins
├─ a.py
├─ b.py
└─ C # 是一个包
├─ __init__.py
├─ config.py
└─ api.py
└─ bilibili # 是一个函数 bilibili(id) -> url
# 输入一个视频id,返回视频直链
config.py
# config.py
mysql = {
# 数据库配置
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "123456",
}
config.json
{
"mysql": {
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "123456"
}
}
C\\config.py
# C\\config.py
bilibili_url = "https://www.bilibili.com/video/"
上述中,config.py 和 config.json 都是配置文件,我们可以根据自己的需求选择其中一个作为配置文件。
main.py
# main.py
from flask import Flask
from fileMapping import File, pathConversion, configConvertTodict
# 如果 config 是py文件 config.py
import config
f = open('latest.log', 'w', encoding='utf-8')
f = File(pathConversion(__file__, 'plugins'), config=configConvertTodict(config), printPosition=f, printLog=True)
# 例 printPosition=f 日志输出位置为 latest.log 文件
# # 如果 config 是json文件 config.json
import json
with open('config.json', 'r') as f:
config = json.load(f)
f = File(pathConversion(__file__, 'plugins'), config=config, printLog=False)
# 例 printLog=False 关闭日志输出
"""
上述中
- printPosition
- printLog
- config
可以不添加
"""
if __name__ == '__main__':
app = Flask(__name__)
f.run(app.route)
a.py
# a.py
from fileMapping import File
# 调用config-mysql-host
def main():
print(File.public['config']['mysql']['host'])
def video_url() -> str:
# 'BV1mNimYkErX' -> 是视频id
return File.invoke.C.api.bilibili('BV1mNimYkErX')
b.py
# b.py
from fileMapping import File
def main(route):
@route('/bilibili/<Bv_id>')
def bv(Bv_id) -> str:
return File.invoke.C.api.bilibili(Bv_id)
C\\__init__.py
# C\\__init__.py
from C import api
__function__ = ''
# 只调用不运行
C\\api.py
# C\\api.py
from . import config
def bilibili(Bv_id) -> str:
# 调用config-bilibili_url
# 这里只是一个简单的事例
# 这一行代码无法获取直链
# 若想获取直链,请添加其他代码
return config.bilibili_url + Bv_id
函数介绍
fileMapping.File
class File:
"""
callObject
- 调用对象
invoke
- 内行参数
returnValue
- 返回参数
public
- 公共
"""
def __init__(self,
absolutePath: os.path,
screening=None,
config: dict = None,
printLog: bool =False,
printPosition=sys.stdout
):
"""
映射文件夹下的Python文件或者包
:param absolutePath: 当前的根目录绝对路径
:param screening: 要映射的文件
:param config: 配置文件 它将会被映射到 public['config']
:param printLog: 是否打印日志
:param printPosition: 日志输出位置 默认为 sys.stdout 在终端输出
"""
def run(self, *args, name: str = None, **kwargs):
"""
运行映射文件
:return:
"""
fileMapping.pathConversion
def pathConversion(cpath: os.path, path: os.path) -> os.path:
"""
当要转化的文件目录在调用文件的临旁时,则可以用这个快速转化
例:
|--->
|-> plugIns
|-> x.py
其中x.py要调用plugIns文件夹时即可快速调用
pathConversion(__file__, "plugIns")
:param cpath: __file__
:param path: 必须为文件夹
:return:
"""
fileMapping.configConvertTodict
def configConvertTodict(config) -> dict:
"""
将配置文件转换为dict格式
:param config: 配置文件
:return: dict 格式的配置文件
"""
更新日志
Metadata
Release files for fileMapping 0.3.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fileMapping-0.3.21.tar.gz | 28.2 kB | Without provenance | Details |
Release files / fileMapping-0.3.21.tar.gz
| Download URL | fileMapping-0.3.21.tar.gz |
|---|---|
| Size | 28.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c8259d18e8a8cd700e7eb46252e048ffe15e1afc481c77ede10fd4b0fdd3001
|
|
BLAKE2b-256 checksum How to use checksums |
eb95dcf42155d4fff06b5de5a4e92c50d72761d54a567d270552ed5243ec9be2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.0
|
Security for fileMapping 0.3.21
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.