首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像交互式Ruby那样的交互式Python?

像交互式Ruby那样的交互式Python?
EN

Stack Overflow用户
提问于 2018-02-04 04:15:05
回答 4查看 318关注 0票数 3

我试图在Python中加载一个".py“文件,就像在交互式Ruby中加载".rb”文件一样。该文件运行一个代码,该代码询问用户名,然后打印"Hello (用户名),欢迎!“。我到处找遍了,但找不到解决办法。

我知道如何在Ruby中做到这一点,但是如何在Python中做到这一点呢?

Ruby代码(test.rb)

代码语言:javascript
复制
print "Enter your name:"
input = gets.chomp
puts "Hello " + input + "! Welcome to Ruby!"

Python代码(test.py)

代码语言:javascript
复制
name = raw_input("What is your name? ")
print ("Hello" + (name) + "Welcome to Python!") 

如何在交互式红宝石(irb)中运行它

,那么我如何在python中做同样的事情呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-02-04 04:27:07

在Python2中,execfile("test.py")等同于Ruby load "test.rb"

在Python3中,execfile可能已经被删除了,因为这通常不是推荐的工作方式。您可以执行exec(open("test.py").read()),但更常见的工作流是直接运行脚本:

代码语言:javascript
复制
python test.py

或者将您的import文件作为一个模块

代码语言:javascript
复制
import test

然后您可以执行reload(test)来加载后续的编辑--尽管这比每次只重新运行python test.py要可靠得多,原因有很多。

这假设test.py位于PYTHONPATH (或sys.path)上的一个目录中,通常您的shells当前文件夹已经添加。

票数 4
EN

Stack Overflow用户

发布于 2018-02-04 04:23:02

您只需在python解释器中使用import file_name就可以帮助您。当然,如果在脚本底部有函数调用,那么file_name.function_to_run()就不必执行这个步骤,它将执行所有操作,然后停止。

票数 1
EN

Stack Overflow用户

发布于 2020-07-18 19:16:53

从命令行

您可以将-i选项用于“交互式”。它不会在脚本完成时关闭,而是提供一个python解释器,您可以使用脚本定义的变量。

代码语言:javascript
复制
python -i test.py

在翻译程序中

使用exec

代码语言:javascript
复制
exec(open("test.py").read())

参考螺纹

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48604634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档