将字符串连接到input()的结果上
我想在命令行里做类似这样的事情:
Enter input filename: filename
当用户指定文件名时,应该发生这样的事情
lines = [line.strip() for line in open('filename.txt')]
我试过用
lines = [line.strip() for line in open('input().txt')]
但是它只是找一个叫 'input().txt' 的文件
我该怎么才能让它正常工作呢?
谢谢
3 个回答
1
试试这个:
lines = [ line.strip() for line in open(raw_input("Enter input filename: ")) ]
2
试着格式化这个字符串:
open('{0}.txt'.format(input(), 'r'))
你不能直接在字符串里面调用一个函数,所以你必须先调用这个函数,然后再用它的结果来生成字符串。
4
你需要把 input()
放在引号外面,然后用 +
操作符把它和 '.txt'
连接起来。此外,把获取文件名、打开文件和读取文件的操作分成几行写,会让你的代码更清晰。
filename = input()
with open(filename + '.txt', 'r') as f:
lines = [line.strip() for line in f]
另外,如果你不是在用 Python 3,那么你可能是想用 raw_input
而不是 input
。