c# 定时执行python脚本

Posted JackGIS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 定时执行python脚本相关的知识,希望对你有一定的参考价值。

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Timers;

namespace cmdPython
{
    class Program
    {
        static void Main(string[] args)
        {
            Timer timer = new Timer(60000);
            //timer.Interval = 60000;//执行间隔时间:60秒,单位为毫秒,一分钟执行一次判断

            timer.Enabled = true;
            timer.Elapsed += new ElapsedEventHandler(Timer1_Elapsed);

            timer.AutoReset = true;
            timer.Start();

            Console.WriteLine("python绘制程序开始,日均值:9点20分;小时值:6点30分.执行");
            Console.ReadLine();
        }

        private static void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            // 得到 hour minute second  如果等于某个值就开始执行某个程序。
            int intHour = e.SignalTime.Hour;
            int intMinute = e.SignalTime.Minute;

            if (intHour == 9 && intMinute == 20)
            {
                Console.WriteLine("开始执行日均值绘制," + e.SignalTime.Date);
                doPython("python", "E:/python/drawyesteday_day.py");
            }

            if (intHour == 6 && intMinute == 30)
            {
                Console.WriteLine("开始执行小时值绘制," + e.SignalTime.Date);
                doPython("python", "E:/python/drawyesteday_hour.py");
            }
        }

        private static void doPython(string StartFileName, string StartFileArg)
        {
            Process CmdProcess = new Process();
            CmdProcess.StartInfo.FileName = StartFileName;      // 命令  
            CmdProcess.StartInfo.Arguments = StartFileArg;      // 参数  

            CmdProcess.StartInfo.CreateNoWindow = true;         // 不创建新窗口  
            CmdProcess.StartInfo.UseShellExecute = false;
            CmdProcess.StartInfo.RedirectStandardInput = true;  // 重定向输入  
            CmdProcess.StartInfo.RedirectStandardOutput = true; // 重定向标准输出  
            CmdProcess.StartInfo.RedirectStandardError = true;  // 重定向错误输出  
            //CmdProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;  



            CmdProcess.Start();
            CmdProcess.BeginOutputReadLine();
            CmdProcess.BeginErrorReadLine();

            // 如果打开注释,则以同步方式执行命令,此例子中用Exited事件异步执行。  
            CmdProcess.WaitForExit();
            CmdProcess.Close();
        }
    }
}

 

以上是关于c# 定时执行python脚本的主要内容,如果未能解决你的问题,请参考以下文章

C#定时执行

CentOS 7定时执行python脚本

小知识点Centos 自动任务,定时执行 Python 脚本

小知识点Centos 自动任务,定时执行 Python 脚本

MySQL定时执行脚本(计划任务)实例

python脚本利用windows计划定时执行