像Interactive Ruby这样的交互式Python?

时间:2018-02-04 04:15:05

标签: python ruby

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

我知道如何在Ruby中执行此操作,但我如何在Python中执行此操作?

Ruby代码(test.rb)

print "Enter your name:"
input = gets.chomp
puts "Hello " + input + "! Welcome to Ruby!"

Python代码(test.py)

name = raw_input("What is your name? ")
print ("Hello" + (name) + "Welcome to Python!") 

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

enter image description here

那我怎么在python中做同样的事呢?

enter image description here

4 个答案:

答案 0 :(得分:3)

在Python 2中,execfile("test.py")与Ruby load "test.rb"

等同

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

python test.py

import将test.py文件作为模块

import test

然后您可以reload(test)加载后续编辑内容 - 虽然这比每次因各种原因重新运行python test.py更可靠

这假定test.py位于您PYTHONPATH(或sys.path)的目录中 - 通常已添加您的shell当前文件夹

答案 1 :(得分:1)

您正在使用python 3

所以你这样做

  

name = input(“输入你的名字:”)

     

print(“Hello”+ name +“。欢迎使用Python!”)

答案 2 :(得分:1)

从命令行

您可以将-i选项用于“交互式”。脚本执行完毕后,您无需关闭脚本,而是会提供一个python解释器,您可以从中使用脚本定义的变量。

python -i test.py

在口译员之内

使用exec

exec(open("test.py").read())

Reference thread

答案 3 :(得分:0)

你只是说python解释器this中的import file_name可以帮助你。然后file_name.function_to_run()当然,如果你在脚本底部有函数调用它将执行所有操作然后停止,你不必执行此步骤。