如何在PowerShell终端运行Python指定函数?我的代码缺什么?
问题分析与解决
为什么python -m my_file func2没有输出?
你当前的脚本仅定义了函数,但缺少解析命令行参数并触发对应函数执行的逻辑。当用-m参数运行模块时,Python会执行脚本,但不会自动识别你传入的func2参数并调用对应函数。
修改后的脚本示例
修改my_file.py,添加参数处理和函数调用逻辑:
import sys def func1(): print('first function') def func2(): print('second function') if __name__ == '__main__': # 检查是否传入目标函数名 if len(sys.argv) < 2: print("请指定要运行的函数名,例如:python -m my_file func2") sys.exit(1) target_func = sys.argv[1] # 验证函数存在并调用 if target_func in globals() and callable(globals()[target_func]): globals()[target_func]() else: print(f"不存在名为 {target_func} 的函数")
运行验证
在PowerShell执行:
python -m my_file func2
此时会输出:second function
其他终端的运行方式
核心命令跨终端通用,仅部分细节有区别:
- Windows CMD:直接输入
python -m my_file func2(Python路径已配置时),多版本环境可改用py -m my_file func2 - Linux/macOS终端:输入
python3 -m my_file func2(系统默认Python2时,用python3指定版本)
额外提示
- 若脚本不在当前工作目录,需确保它在Python模块搜索路径中,或先切换到脚本所在目录再执行命令
- 也可直接用
python my_file.py func2运行(无需-m参数),修改后的脚本同样支持该方式
内容的提问来源于stack exchange,提问作者murd0x
相关产品推荐
相关产品推荐

