You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python文件中获取命令行传入的文件名参数?

如何在Python中获取命令行传入的文件名

嘿,这个需求太常见啦!我给你分享两种实用的实现方式,看哪种更适合你的场景:

方法一:用sys.argv(简单直接)

sys模块是Python标准库自带的,sys.argv会把命令行的所有参数存成一个列表——第一个元素是你的脚本文件名(也就是Compiler.py),第二个就是用户传入的那个文件名。

代码示例:

import sys

if __name__ == "__main__":
    # 先做个简单的参数检查,避免用户没传文件名
    if len(sys.argv) < 2:
        print("请记得传入文件名哦!用法:python Compiler.py <Filename>")
        sys.exit(1)  # 退出程序并返回错误码
    
    # 取出用户传入的文件名
    target_filename = sys.argv[1]
    print(f"收到你传入的文件名:{target_filename}")
    
    # 接下来就可以用这个文件名做操作啦,比如读取文件内容
    try:
        with open(target_filename, 'r') as file:
            content = file.read()
            # 这里写你的编译逻辑...
    except FileNotFoundError:
        print(f"哎呀,找不到文件 {target_filename} 哦!")

方法二:用argparse(更规范,适合复杂场景)

如果以后你的程序可能需要加更多命令行参数(比如选项、开关),argparse会是更好的选择——它能自动生成帮助信息,还能帮你做参数验证。

代码示例:

import argparse

if __name__ == "__main__":
    # 创建参数解析器
    parser = argparse.ArgumentParser(description='这是我的编译程序,用来处理指定文件')
    # 添加位置参数:文件名
    parser.add_argument('filename', help='需要处理的目标文件名')
    
    # 解析命令行参数
    args = parser.parse_args()
    
    # 获取文件名
    target_filename = args.filename
    print(f"要处理的文件是:{target_filename}")
    
    # 后续的文件操作和编译逻辑...

用这个方法的话,用户输入python Compiler.py -h还能自动看到帮助提示,非常友好!

内容的提问来源于stack exchange,提问作者awillers55

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:57:10