在一台计算机上编写python代码并自动在另一台计算机上运行它

时间:2013-12-19 10:42:12

标签: python

我有以下情况。 我想在我的笔记本电脑中编写python代码,运行时间超过24小时。我使用的是UBUNTU 12.04 lts。

是否有可能在我的笔记本电脑中编写python代码,自动将其发送到某个远程桌面,然后在那里运行并在完成后将输出结果发送到我的笔记本电脑?   建议我使用 openssh

但我想以下列方式做到这一点----

  1. 在我的笔记本电脑中编写和调试Python代码。(已解决)
  2. 将代码作为附件发送至 * *** @ gmail.com(已解决)
  3. 桌面上的其他python程序会自动下载并运行源代码(未解决)
  4. 并将输出文件通过电子邮件发送回我的Gmail邮箱。(已解决)
  5. 从特定gmail文件夹中的最新电子邮件下载附件的 python代码是什么?

2 个答案:

答案 0 :(得分:1)

如果你的远程系统是windows,一个很好的选择是使用SysInternals的PsExec

实施例。如果您的脚本是long_running.py,则典型用法是

PsExec \\remote-server -c long_running.py

如果您的远程系统是* nix,并且您的本地系统是Windows,则可以使用ssh通过Plink(PuTTY的一部分)进行远程执行。

plink remote-server@user -m long_running.py

最后,如果远程和本地计算机都是* nix系统,您只需使用ssh

即可
ssh remote-server@user 'bash -s' < long_running.py

注意这只是一些可能的选项,但想法是可以通过ssh或类似的选项(如PsExec)进行远程执行

答案 1 :(得分:0)

如果两个系统都运行* nix,您可以轻松地在本地完成所有开发工作和调试,同时仍然远程执行:

一次设置:

  1. Mount a folder from the remote box locally
  2. 在笔记本电脑上,将项目/脚本保存到该(现在是本地)文件夹,或将已安装的文件夹设置为IDE中项目的保存路径。
  3. 出版:

    1. 做好工作
    2. 点击保存按钮
    3. 执行:

      1. SSH进入远程复选框并打开一个新的screen
      2. 导航到您之前挂载的文件夹,然后运行您的脚本。
      3. 然后,您可以根据需要安全地分离和关闭ssh(ctrl + a d),然后重新连接:
        3A。 screen -ls(查找屏幕名称)
        3B。 screen -x screen_name
      4. 这个解决方案的优点是,如果你有一个需要频繁编辑/更改的持续项目,你可以在本地进行所有开发工作/调试,而“发布”所需的唯一工作就是点击保存按钮,启动屏幕,然后运行。