社区
脚本语言
帖子详情
求教python exec*函数怎么用?
cqin
2004-11-29 12:54:40
os.execl("usr/bin/python","test.py",`'i')报errno 2, no such file or directory
哪位能提供一个exec的范例啊。
都折腾半天了。我就是想知道exec*函数到底怎么调用的。
...全文
1786
6
打赏
收藏
求教python exec*函数怎么用?
os.execl("usr/bin/python","test.py",`'i')报errno 2, no such file or directory 哪位能提供一个exec的范例啊。 都折腾半天了。我就是想知道exec*函数到底怎么调用的。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyzxyz1111
2004-11-30
打赏
举报
回复
比如你写一个c程序如下。
int main(int argc, char ** argv)
{
int i;
for(i=0;i<argc; i++)
{
printf("%d--%s\n", i, argv[i]);
}
}
编译成aaa
如果你单独执行
/path/to/aaa bb cc
这是会打印
0--/path/to/aaa
1--bbb
2--ccc
实际上Shell执行execl("/path/to/aaa","/path/to/aaa","bbb","ccc")把argv[0]设置为/pat/to/aaa
产生一个误解就是认为execl中第二个参数必须是"/path/to/aaa"的程序名,其实不然。
而用
os.execl("/path/to/aaa","ttt",'bbb', 'ccc')
则打印
0--ttt
1--bbb
2--ccc
至于ps 有多种选项。
cqin
2004-11-30
打赏
举报
回复
请问“argv[0]可以是任意的”是什么意思?
是说对于仅仅对于/usr/bin/python有用,是/usr/bin/python的第一个参数,也就是文件名,但是对于test.py是没有用处的。是这个意思么?(估计就是了)多谢
还有一个问题
假如这个值我设“aa”,然后运行的时候用ps去看,那我看到的应该是python还是aa那?
是不是这个值和进程名没有任何关系?
xyzxyz1111
2004-11-29
打赏
举报
回复
应该是这样
os.execl("/usr/bin/python","python",`'test.py', 'i')
os.exec*() 都只是posix系统的直接映射,所以os.execl的第一个参数"/usr/bin/python"是程序的可执行文件,而其他的都是program argument,就是c 中int main(int argc, char** argv)中的argv。
而python的sys.argv应是c中argv的[1:],所以 os.execl中的第二个参数"python"对于python程序test.py不可见而且没有用。
实际上os.execl的第二个参数也就是int main(int argc, char** argv)中的argv[0]可以是任意的。
limodou
2004-11-29
打赏
举报
回复
可能是这样的(我不太清楚了):
exec*的函数调用是把命令行中用空格分开的参数都作为一个参数来传递,因此,合成的命令行就是:
/usr/bin/python test.py i
看文档应该(不行就看C的说明)能比较清楚。
cqin
2004-11-29
打赏
举报
回复
嗯,那个是我漏了
不过问题不是在这里,问题是在第二个参数没有用。也就是说她认为python编辑器要执行的是第三个参数`i`代表值
那么第二个参数是干嘛用的那?
limodou
2004-11-29
打赏
举报
回复
你的usr/bin/python前面是不是少了个'/',不然它是一个相对路径。应该是绝对路径。
Python
exec
函数
exec
()# 执行简单的
函数
定义greet("Alice") # 输出:Hello, Alice在这个示例中,使用
exec
()
函数
执行了一个简单的
函数
定义,定义了一个名为greet的
函数
,然后在之后的代码中调用了这个
函数
。通过本文,已经了解了
exec
()
函数
的基本用法、安全性考虑、实际应用场景,并掌握了如何在实际编程中使用它。
exec
()
函数
是
Python
中一个非常强大但也容易被误用的
函数
,它可以用于执行存储在字符串或代码对象中的
Python
代码,并且可以修改当前的全局和局部命名空间。
23.
Python
中的
exec
函数
《
Python
编程的术与道:
Python
语言进阶》视频课程 《
Python
编程的术与道:
Python
语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618
exec
函数
exec
是
Python
的内置
函数
,能够执行储存在字符串或文件中的
Python
语句。 eval()
函数
只能执行计算数学表达式的结果的功能,而
exec
()能够动态地执行复杂的
Python
代码,
exec
做的是编译和评估字符串中的语句。 首先,我们可以看到它可以完成eval所做的相同工作,例如
Python
exec
命令在
函数
内执行无效
本文记录了使用 `
exec
` 命令可能导致的 bug ,并且提供了两种解决方案。这个 bug 的产生和
python
解析变量名的过程有关,详细的原因分析和解决思路可以在后文中看到。
python
exec
函数
_
Python
之浅谈
exec
函数
在
Python
中,
exec
()是一个十分有趣且使用的内置
函数
,不同于eval()
函数
只能执行计算数学表达式的结果的功能,
exec
()能够动态地执行复杂的
Python
代码,能够十分强大。具体的介绍可以参考官方文档: https://docs.
python
.org/3/library/functions.html#
exec
。本次分享讲简单聊聊
exec
()
函数
的用法,希望能给读者一点启示和参考。首先是...
python
中
exec
函数
_
python
exec
函数
怎么用?
我们在写编程的过程中,会发现,代码会越来越复杂。为了能出现自己想要的内容,程序越写越长,越写越复杂,也越来越难让自己看懂。其实呀,这是不可避免的。但是在
python
中,有帮助我们执行复杂的
python
代码,功能十分强大,那就是
exec
()
函数
,今天我们就来聊聊
exec
()
函数
。1、
exec
语法
exec
(object[, globals[, locals]])2、参数object:必选参数,表示需...
脚本语言
37,737
社区成员
34,208
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章