Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何执行名称在变量中的批处理文件?_Python_Variables - Fatal编程技术网

Python 如何执行名称在变量中的批处理文件?

Python 如何执行名称在变量中的批处理文件?,python,variables,Python,Variables,注意:我编辑这篇文章是因为人们一直认为我需要python中今天的日期,而我不需要今天的日期!我已经有今天日期的密码了 问题 我每周的每一天都有一个变量,该变量包含我想要执行的批处理文件 我有大部分代码,只是不知道如何根据今天的工作日更改变量。我甚至有代码来显示工作日,但我不知道如何使用它来执行基于今天的批处理文件 代码如下: import datetime import subprocess # obtaining today's date now = datetime.datetime.no

注意:我编辑这篇文章是因为人们一直认为我需要python中今天的日期,而我不需要今天的日期!我已经有今天日期的密码了

问题

我每周的每一天都有一个变量,该变量包含我想要执行的批处理文件

我有大部分代码,只是不知道如何根据今天的工作日更改变量。我甚至有代码来显示工作日,但我不知道如何使用它来执行基于今天的批处理文件

代码如下:

import datetime
import subprocess

# obtaining today's date
now = datetime.datetime.now()
tdate = (now.strftime("%A"))
print(tdate)

#the variables for each day:

Monday = """\\VGMSTATION\\Users\\VGMPC2\\Documents\\Vlcscheduler\\Playlist\\Platformer\\vlcscheduler playlist.bat"""
Tueday = """\\VGMSTATION\\Users\\VGMPC2\\Documents\\Vlcscheduler\\Playlist\\shooters beatemup survival\\vlcscheduler playlist.bat """
Wednesday = """\\VGMSTATION\Users\VGMPC2\Documents\Vlcscheduler\Playlist\Action Adventure\\vlcscheduler playlist.bat """
Thursday = """\\VGMSTATION\Users\VGMPC2\Documents\Vlcscheduler\Playlist\sports racing puzzlecard artgames\\vlcscheduler playlist.bat """
Friday = """\\VGMSTATION\Users\VGMPC2\Documents\Vlcscheduler\Playlist\Fighters\\vlcscheduler playlist.bat"""
Saturday = """\\VGMSTATION\Users\VGMPC2\Documents\Vlcscheduler\Playlist\Sega Generation\\vlcscheduler playlist.bat"""
Sunday = """\\VGMSTATION\Users\VGMPC2\Documents\Vlcscheduler\Playlist\Nintendo Generation\\vlcscheduler playlist.bat"""


# What do I put in subprocess.call() so I can run today's batch file?

我所尝试的: 某人(谢谢你的邀请suggestion@Orhan索拉克)建议尝试:

Monday = "Path\\of\\folder"
now = datetime.datetime.now()
tdate = (now.strftime("%A"))
vars()[tdate]
但当我尝试时,我得到:

KeyError: "Monday"

可能是因为我的变量都不是字典。

您可以将变量与vars()一起使用

输出:

>>>'Path\\of\\folder'
因此,作为回答:

subprocess.call(vars()[tdate])

下面是你的生活,可能是这样的: 如果调用datetime.datetime.now(),则应该有一个名为weekday()的方法,该方法返回一周中当前日期的整数值。(0-6)


如果有帮助,请告诉我。

我尝试了这个方法,但发现一个关键错误:“星期一”。我想这是因为我的变量都不是字典。我要提出一个新问题,因为你是唯一一个似乎读过我问题的人。其他人都认为我需要python中的今天的日期,我的脚本中已经有了这个日期。我希望人们能读一下我的问题。谢谢你的努力@Jatonjameer错误的原因是UnicodeScape。您应该在路径文件夹中使用该符号2次“\”。试着像星期一那样更新你的星期一=“”\\VGMSTATION\\Users\\VGMPC2\\Documents\\Vlcscheduler\\Playlist\\Platformer”“”嗯,这很糟糕。很抱歉,我不能再帮你了。我希望你能找到答案。祝你好运嘿@Orhan Solak我能用你给的方法让它工作。我只是太傻了,没有把变量放在上面
now=datetime.datetime.now()
。我还必须在字符串变量中添加一个
r
,这样路径才能正常工作。我道歉,因为我必须去上班,我有点匆忙地问了这个问题,因为这是我的想法。谢谢你在这里帮助我。欢迎!不用担心,只要有效,我为你感到高兴。祝下一个项目好运!我已经有了获取工作日的代码
now=datetime.datetime.now()tdate=(now.strftime(“%A”))print(tdate)
我需要知道如何使用我的变量来运行路径。您得到的是
KeyError
,因为它返回一个字典,
vars()[tdate]
正试图在其中查找
tdate
的值。要执行的批处理文件的名称是什么?
subprocess.call(vars()[tdate])
dict = {0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Sunday}

>>> datetime.datetime.now().weekday()
0

subprocess.call(dict[datetime.datetime.now().weekday()])