fastapi: 用ipython从命令行执行项目中的函数

一,安装第三方库:

$ pip install ipython

二,执行一个同步方法:

执行ipython启动界面 

In [1]: from app.utils.file_handle import get_file_info

In [2]: get_file_info('/data/file/fast/images/logo_300.jpg')
Out[2]: 
{'success': True,
 'message': '',
 'data': {'file_path': '/data/file/fast/images/logo_300.jpg',
  'file_name': 'logo_300',
  'size': 19386,
  'ext': 'jpg',
  'width': 512,
  'height': 512}}

三,执行一个异步方法:写入数据库:

在前面加await 

In [3]: from app.core.lifespan import init_data

In [4]: await init_data()
2026-07-23 14:59:27,790 INFO sqlalchemy.engine.Engine SELECT DATABASE()
2026-07-23 14:59:27,790 INFO sqlalchemy.engine.Engine [raw sql] ()
2026-07-23 14:59:27,791 INFO sqlalchemy.engine.Engine SELECT @@sql_mode
2026-07-23 14:59:27,791 INFO sqlalchemy.engine.Engine [raw sql] ()
2026-07-23 14:59:27,792 INFO sqlalchemy.engine.Engine SELECT @@lower_case_table_names
2026-07-23 14:59:27,792 INFO sqlalchemy.engine.Engine [raw sql] ()
2026-07-23 14:59:27,793 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2026-07-23 14:59:27,801 INFO sqlalchemy.engine.Engine SELECT users.username, users.nickname, users.password, users.avatar_id, users.id, users.status, users.deleted, users.created_at, users.updated_at 
FROM users 
WHERE users.username = %s
2026-07-23 14:59:27,802 INFO sqlalchemy.engine.Engine [generated in 0.00039s] ('admin',)
/data/python/fastapi/demo1/app/core/lifespan.py:42: RuntimeWarning: coroutine 'AsyncSession.commit' was never awaited
  db.commit()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
2026-07-23 14:59:27,806 INFO sqlalchemy.engine.Engine INSERT INTO users (username, nickname, password, avatar_id, status, deleted) VALUES (%s, %s, %s, %s, %s, %s)
2026-07-23 14:59:27,806 INFO sqlalchemy.engine.Engine [generated in 0.00038s] ('admin', '管理员', '$2b$12$fJWexLMrpZPxu94E4flgMOZS8iJHl7ZH9WB2VCzj0gdrJM2F7Psry', None, 1, 0)
2026-07-23 14:59:27,807 INFO sqlalchemy.engine.Engine COMMIT

 

posted @ 2026-07-23 15:00  刘宏缔的架构森林  阅读(1)  评论(0)    收藏  举报