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 - 从 python 数据框的列构造二分图

python - 如何在 NumPy 中声明和填充数组?

python - matplotlib继承自datetime类plot

python - 如何从 Graphlab 迁移到 pandas

python - OutOfRangeError(请参阅上面的回溯): FIFOQueue '_1_batch/fifo_queue' is closed and has insufficient elements (requested 32, 当前大小 0)

python - 如何从 DataFrame 中删除多列中具有重复字符串的行?

python - 相当于 python repr 的 lua

python - 删除 numpy 数组中第一次出现的元素

python - 最小化Python函数,在小区间内保持恒定

python - 模块未找到错误: No module named 'jmespath'