gpt4 book ai didi

python - 在 python 中,如何将这三行代码变成一行代码?

转载 作者:太空狗 更新时间:2023-10-30 01:43:06 30 4
gpt4 key购买 nike

这是代码

from sys import argv
script,from_file, to_file = argv
open(to_file,'w').write(open(from_file).read())

我是 python 新手,我是 Learning Python the Hard Way ,关于一个问题的额外功劳,它说这本书的作者能够使代码长一行,所以我设法将它减少到 3 行,但我被卡住了。

想帮忙吗?

哦,代码将一个文件的内容复制到另一个文件,或者它是故意的。这是我的目标。

最佳答案

可以将其作为一个表达式来完成,即不需要分号:

__import__('shutil').copy(__import__('sys').argv[1], __import__('sys').argv[2])

open(__import__('sys').argv[2], "w").write(open(__import__('sys').argv[1]).read())

当然,头脑正常的人不会喜欢这个而不喜欢您的示例代码。我要做的唯一改变是没有理由将文件名分配给临时变量:

from sys import argv
open(argv[1],'w').write(open(argv[2]).read())

一种更 Pythonic 的写法是:

import sys
with open(sys.argv[1]) as src, open(sys.argv[2]) as dest:
for line in src:
dest.write(line)

然后你就可以开始使用argparse了使命令行阅读更健壮......

关于python - 在 python 中,如何将这三行代码变成一行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246377/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com