Python论坛  - 讨论区

标题:[python-chinese] 怎样在程序中运行脚本?

2005年12月04日 星期日 18:00

amingsc amingsc at 163.com
Sun Dec 4 18:00:02 HKT 2005

想在主程序中运行一段脚本程序,要求:

1. 主程序可以传递一些变量到脚本;
2. 主程序可以获取脚本的运行结果(传递变量到主程序); 
3. 脚本可以多次重复运行;

不知道(1,2)到底应该怎么来实现,请高手指教,谢过了先!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年12月04日 星期日 20:11

limodou limodou at gmail.com
Sun Dec 4 20:11:18 HKT 2005

在 05-12-4,amingsc<amingsc at 163.com> 写道:
> 想在主程序中运行一段脚本程序,要求:
>
> 1. 主程序可以传递一些变量到脚本;
> 2. 主程序可以获取脚本的运行结果(传递变量到主程序);
> 3. 脚本可以多次重复运行;
>
> 不知道(1,2)到底应该怎么来实现,请高手指教,谢过了先!

做成模块导入,一切都解决了。不然可以通过命令行参数传递参数,通过popen之类的输出重定向得到输出结果。其实还可以通过如socket,文件等,方法也很多,但做成模块最好。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年12月04日 星期日 22:49

limodou limodou at gmail.com
Sun Dec 4 22:49:27 HKT 2005

> 顺便再问个问题,我想把脚本放到子线程中运行,这样用户可以选择中止脚本(子线程)的运行
> 但是不知道应该怎么中止子线程?
> 查了书和文档都说的是从子线程里面中止的
> 有没有办法在父线程中强行中止子线程
> 因为我的脚本是用户写的,如果要求用户在脚本里面处理中止问题的话显得不是很好
>
> 是不是只能用进程的方式啊?
>

一般是在执行线程之间先执行一下 setDaemon(True)
设定为daemon线程。这样当主程序退出时会自动退出。另外双方通过一些变量传递,如在创建线程时传入一个控制变量,当变量表示退出时,由用户程序退出。但这种不是强制的,只是一个约定。其它的方法我不清楚了。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年12月04日 星期日 22:54

amingsc amingsc at 163.com
Sun Dec 4 22:54:41 HKT 2005

在 2005年12月4日 星期天 20:11,limodou 写道:
> 在 05-12-4,amingsc<amingsc at 163.com> 写道:
>
> > 想在主程序中运行一段脚本程序,要求:
> >
> > 1. 主程序可以传递一些变量到脚本;
> > 2. 主程序可以获取脚本的运行结果(传递变量到主程序);
> > 3. 脚本可以多次重复运行;
> >
> > 不知道(1,2)到底应该怎么来实现,请高手指教,谢过了先!
>
> 做成模块导入,一切都解决了。不然可以通过命令行参数传递参数,通过popen之类的输出重定向得到输出结果。其实还可以通过如socket,文件等,方法也很
>多,但做成模块最好。

就是好,通过import就搞定了,脚本语言就是省事
谢谢了limdou

顺便再问个问题,我想把脚本放到子线程中运行,这样用户可以选择中止脚本(子线程)的运行
但是不知道应该怎么中止子线程?
查了书和文档都说的是从子线程里面中止的
有没有办法在父线程中强行中止子线程
因为我的脚本是用户写的,如果要求用户在脚本里面处理中止问题的话显得不是很好

是不是只能用进程的方式啊?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年12月05日 星期一 07:54

0.706 im0.706 at gmail.com
Mon Dec 5 07:54:59 HKT 2005

不知主程序用什么写的,如用C,可以考虑嵌入.其它情况:
1,可以用命令行参数
2,脚本和主程序间可通过socket通讯,或通过文件交换信息.


在05-12-4,amingsc <amingsc at 163.com> 写道:
>
> 想在主程序中运行一段脚本程序,要求:
>
> 1. 主程序可以传递一些变量到脚本;
> 2. 主程序可以获取脚本的运行结果(传递变量到主程序);
> 3. 脚本可以多次重复运行;
>
> 不知道(1,2)到底应该怎么来实现,请高手指教,谢过了先!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051205/9a37fc9d/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年12月05日 星期一 17:00

amingsc amingsc at 163.com
Mon Dec 5 17:00:31 HKT 2005

在 2005年12月5日 星期一 07:54,0.706 写道:
> 不知主程序用什么写的,如用C,可以考虑嵌入.其它情况:
没有说就是python罗
> 1,可以用命令行参数
> 2,脚本和主程序间可通过socket通讯,或通过文件交换信息.
根据limdou的建议采纳import来实现了,脚本语言嘛,能省就省哈^_^

现在的问题是我要用子线程来运行脚本,但是python的子线程都
没有强行中止的机制
没得办法只好改用进程来弄了
thank your reply
> 在05-12-4,amingsc <amingsc at 163.com> 写道:
>
> > 想在主程序中运行一段脚本程序,要求:
> >
> > 1. 主程序可以传递一些变量到脚本;
> > 2. 主程序可以获取脚本的运行结果(传递变量到主程序);
> > 3. 脚本可以多次重复运行;
> >
> > 不知道(1,2)到底应该怎么来实现,请高手指教,谢过了先!
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号