Python论坛  - 讨论区

标题:[python-chinese] 新手请教

2005年07月23日 星期六 01:44

safer 54safer at gmail.com
Sat Jul 23 01:44:09 HKT 2005

integer = raw_input("Enter second integer;\n")
integer = int (integer)

第一行是输入
第二行是换行为整数

可是怎么在python24 中一起输入2行呢?

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

2005年07月23日 星期六 08:51

limodou limodou at gmail.com
Sat Jul 23 08:51:23 HKT 2005

使用input试试

在 05-7-23,safer<54safer at gmail.com> 写道:
> integer = raw_input("Enter second integer;\n")
> integer = int (integer)
> 
> 第一行是输入
> 第二行是换行为整数
> 
> 可是怎么在python24 中一起输入2行呢?
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou
New Google Maillist: http://groups-beta.google.com/group/python-cn

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

2005年07月23日 星期六 11:05

Qiangning Hong hongqn at gmail.com
Sat Jul 23 11:05:10 HKT 2005

On 7/23/05, safer <54safer at gmail.com> wrote:
> integer = raw_input("Enter second integer;\n")
> integer = int (integer)
> 
> 第一行是输入
> 第二行是换行为整数
> 
> 可是怎么在python24 中一起输入2行呢?

不是很明白你说的"一起输入2行"是什么意思。如果你指的是两句话并成一句的话,那很简单的就是:

integer = int(raw_input("Enter second integer;\n"))

limodou说的input()是一个不安全的函数,如果你的程序要发布给别人使用的话,最好还是不要用input()。

-- 
Qiangning Hong

I'm usually annoyed by IDEs because, for instance, they don't use VIM
as an editor. Since I'm hooked to that, all IDEs I've used so far have
failed to impress me.
   -- Sybren Stuvel @ c.l.python

Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1>

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

2005年07月23日 星期六 11:50

safer 54safer at gmail.com
Sat Jul 23 11:50:57 HKT 2005

恩,谢谢。我才开始学
input()是一个不安全的函数,你是指溢出吗? 

如何防止?
那应该使用什么函数呢?

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

2005年07月23日 星期六 12:09

Qiangning Hong hongqn at gmail.com
Sat Jul 23 12:09:36 HKT 2005

On 7/23/05, safer <54safer at gmail.com> wrote:
> 恩,谢谢。我才开始学
> input()是一个不安全的函数,你是指溢出吗?

不是溢出,而是用户可以在这里输入任何python表达式,包括函数。这样就有可能输入一些会引起安全问题的东东,比如:

Enter second integer: (下面是用户输入)
os.system('rm -rf /')

在linux下,一个有权限的用户输入上面的东西就会删除所有磁盘文件。Windows下由于权限的缺陷,危害更大。

input()实质上相当于eval(raw_input()),在python中,eval()和exec()是需要特别注意的函数,除非你能确保传给它们的参数不会有问题,就最好不要使用。在input()的情况下,eval()的参数是由用户输入的,所以基本上如果有除了你之外的人会输入东西,就不要用它。

以前曾经有人提议废除input函数,但Guido不同意,他说"这个函数在写一些只有自己用的东西的时候还是很方便的嘛!"于是就被保留下来了。呵呵。

> 如何防止?
> 那应该使用什么函数呢?

用raw_input()是一个安全的方法,它仅仅返回一个字符串,对其内容不加解释。
你原贴中的代码挺好的,就是不明白你说要"一起输入2行"是什么意思。

-- 
Qiangning Hong

I'm usually annoyed by IDEs because, for instance, they don't use VIM
as an editor. Since I'm hooked to that, all IDEs I've used so far have
failed to impress me.
   -- Sybren Stuvel @ c.l.python

Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1>

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号