Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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从.BAT运行不会返回任何结果_Python_Anaconda - Fatal编程技术网

Python从.BAT运行不会返回任何结果

Python从.BAT运行不会返回任何结果,python,anaconda,Python,Anaconda,Python 3.7.3/Win 10 BAT文件启动并记录其开始和结束时间,包括Python脚本不运行,不会产生任何结果。不会创建或更新Dates.txt,也不会呈现打印语句。没有返回错误,并且我的CMD窗口在暂停时保持不变 我已经尝试了所有我能找到的关于从蝙蝠发射PY的变体,但没有乐趣。从.BAT中调用.PY似乎没有那么多选项。我已经试着运行BAT和Python调用,在常规和提升(admin)命令提示下,没有改变 get_dates.bat: SET logfile="J:\My D

Python 3.7.3/Win 10 BAT文件启动并记录其开始和结束时间,包括Python脚本不运行,不会产生任何结果。不会创建或更新Dates.txt,也不会呈现打印语句。没有返回错误,并且我的CMD窗口在暂停时保持不变

我已经尝试了所有我能找到的关于从蝙蝠发射PY的变体,但没有乐趣。从.BAT中调用.PY似乎没有那么多选项。我已经试着运行BAT和Python调用,在常规和提升(admin)命令提示下,没有改变

get_dates.bat:

    SET logfile="J:\My Drive\_Ongoing\Python\250ok_v20\batch.log"
    @echo Starting Script at %date% %time% >> %logfile%
    "C:\ProgramData\Anaconda3\pythonw.exe" "J:\My 
    Drive\_Ongoing\Python\250ok_v20\get_dates.py"
    pause
    @echo Finished at %date% %time% >> %logfile%
获取_dates.py:

从dateutil.relativedelta导入relativedelta
从日期时间导入日期时间
file=“J:/My Drive/\u continuousing/Python/250ok\u v20/date.txt”
def get_dates():
今天=日期。今天()
d=今天-相对寿命(月=1)
日期(d.年,d.月,1)
startdate=(日期(今天.年,今天.月,1)——
相对寿命(月=1))
enddate=(日期(今天.年,今天.月,1)-相对延迟(天=1))
startdate=str(startdate)
enddate=str(enddate)
返回(开始日期、结束日期)
(startdate,enddate)=获取日期()
以open(file,'w')作为_文件:
_文件.write(startdate+'\n')
_文件.write(enddate+'\n')
打印(起始日期)
打印(结束日期)
PY脚本在Spyder中运行良好,dates.txt文件使用正确的值创建。 如果我跑步:

"J:\My Drive\_Ongoing\Python\250ok_v20\test.bat"
在CMD中,
batch.log
添加了开始/结束行,但是
dates.txt
没有创建/刷新

如果我跑步:

"J:\My Drive\_Ongoing\Python\250ok_v20\test.bat"
"C:\ProgramData\Anaconda3\pythonw.exe" "J:\My Drive\_Ongoing\Python\250ok_v20\get_dates.py"
似乎什么也没发生,没有任何痕迹。 这和水蟒有关吗? 我之前安装了另一个版本的Python,在安装
Spyder/Anaconda
之前可能没有删除它,这会导致问题吗


谢谢您的时间。

这是一个双重问题:

  • 首先,该脚本似乎在Spyder中工作,但在其他任何地方都不起作用。看起来“C:\ProgramData\Anaconda3\pythonw.exe”可能是一个打字错误-典型的安装只是“python.exe”
  • 其次,您需要从datetime导入date

您确定“pythonw.exe”是您的python吗?Anaconda通常将我的安装为“python.exe”。这可以解释为什么spyder运行脚本,但批处理文件和命令都不起作用-脚本在运行时似乎工作正常。我试过运行:“C:\ProgramData\Anaconda3\python.exe”“J:\My Drive\u Continuous\python\250ok\u v20\get\u dates.py”,它返回“日期未定义”。我觉得很奇怪。但这就是为什么我认为它可能与蟒蛇有关。谢谢。您需要从datetime导入日期!spyder可能是自动完成的?是的,就是这样。添加:从datetime导入date,现在使用python.exe运行dates.txt,dates.txt被填满,print语句也在工作。非常感谢。我以前尝试过添加,但是尝试了太多的东西,我可能跳过了工作组合。。。你想不想把这个贴出来作为答案,这样我就可以投票了?还是我应该?我没有太多的声望,甚至不确定我是否能胜出……Pythonw.exe是Spyder用来在其控制台中显示代码执行情况的解释器,我想这不是100%。但该文件存在于该位置,并且是有效的.exe。我确实从datetime导入了日期,这解决了我的问题。谢谢你的帮助!