You need to enable JavaScript to run this app. Windows命令提示符运行Python脚本时如何传入日期参数控制random_date变量
优惠活动
大模型
产品
解决方案
定价
更多

Windows命令提示符运行Python脚本时如何传入日期参数控制random_date变量

命令行传入参数控制脚本内日期的实现方法

实现原理

你已经在脚本里导入了sys模块,不需要额外装任何第三方库就能完成参数读取:

  • 当在Windows命令提示符中执行python 你的脚本.py 参数值1 参数值2格式的命令时,sys模块会自动把所有命令行输入内容按顺序存到sys.argv列表里
  • 列表第0位固定是当前运行的脚本本身的路径,从下标1开始的元素,就是你手动追加在脚本名后面的参数内容

修正后可直接运行的脚本

你原来的代码直接执行会触发几个报错:未导入os模块就调用os.chdir、导入pandas时没有设置pd别名,后续直接用pd.DataFrame()会触发名称未定义错误、硬编码的日期值没法动态修改。修正后的完整代码如下:

import pandas as pd
import sys
import os

# 切换指定工作目录
os.chdir("n:/user/factory")

# 加个简单的参数校验,避免漏传时脚本报无意义的错误
if len(sys.argv) < 2:
    print("运行提示:请在脚本名后追加yyyy-mm-dd格式的日期参数,示例:python 脚本名.py 2017-01-20")
    sys.exit(1)

# 直接取命令行传入的第一个参数赋值给日期变量,全程不需要改脚本内容
random_date = sys.argv[1]

# 原有数据处理逻辑保持不变
df = pd.DataFrame()
df['salary_date'] = random_date

命令行实际操作方式

代码存好后,直接在cmd里进入脚本所在目录运行即可,要更换日期值时,只需要改命令最后面的参数就行,完全不用打开脚本修改:

  • 要设置日期为2019-08-20:python 你的脚本文件名.py 2019-08-20
  • 要设置日期为2017-01-20:python 你的脚本文件名.py 2017-01-20

常见注意点

  • 如果传入的日期内容带空格,需要用英文双引号把日期包起来,否则会被cmd拆成多个独立参数,导致脚本读错值,比如传带时间的日期要写python 脚本名.py "2017-01-20 00:00:00"
  • 原脚本里cwd = os.chdir("n:/user/factory")的写法没有实际作用,os.chdir方法本身会直接修改当前工作目录,没有返回值,赋值给变量是多余操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 23:36:07