Python,从 input() 中删除所需的引号

标签 python

<分区>

好的,我一直在编写一个脚本,但输入部分发生了一件烦人的事情。根据我拥有的 python 版本,我要么需要在输入中包含引号,要么不需要。使用 python 2.7,我需要引号;使用 python 3.3,我没有。例如:

filename = input('Enter Update File: ')
print(filename)

对于 python 2.7,我需要用引号将我的输入括起来,否则会引发 NameError;在 python 3.3 中,我没有。

有没有办法避免这种情况?

最佳答案

在 Python 2.x 上,您需要使用 raw_input() 而不是 input()。在旧版本的 Python 上,input() 实际上将您键入的内容作为 Python 表达式求值, 这就是您需要引号的原因(就像您编写Python 程序中的字符串)。

Python 3.x 和 Python 2.x 有很多区别;这只是其中之一。但是,您可以使用如下代码解决这个特定差异:

try:
    input = raw_input
except NameError:
    pass

# now input() does the job on either 2.x or 3.x

关于Python,从 input() 中删除所需的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175809/

相关文章:

python - 绘制分组的 Pandas 数据框

Python 3.10 类型提示导致语法错误

python - 在预排序数组中找到给定值的最低索引

python - 合并 2 个包含具有匹配 ID 的对象的列表

python - 自动化轮类时间,同时考虑限制

python - 如果 df2 中不存在数据,则从 df1 获取数据

python - 使用 REST 的 Google 日历 API - 每个身份验证只有一个请求?

python - 使用python从二进制文件中读取数字数据

传入文件路径、文件名或文件对象的 Python 约定

python - 为什么 multiprocessing.Manager 会创建一个额外的进程?