首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'target = open(...)‘中的'target’是什么?

'target = open(...)‘中的'target’是什么?
EN

Stack Overflow用户
提问于 2021-02-02 12:57:37
回答 3查看 86关注 0票数 0

作为一个更熟悉数据库和ETL的人,我正在学习Python。我不确定在下面的代码中target是从哪里来的。

代码语言:javascript
运行
复制
from sys import argv
script, filename = argv

target = open(filename, 'w')

我认为argvsys模块中的一个类,但我不认为target来自argv

EN

回答 3

Stack Overflow用户

发布于 2021-02-02 13:09:30

您正在使用python中的open() - 。此函数返回一个分配给target变量的 -。现在,您可以与target交互以写入数据(因为您使用的是w模式)。

票数 1
EN

Stack Overflow用户

发布于 2021-02-02 13:02:57

如果你运行type(target),你会得到这样的结果:<_io.TextIOWrapper name='dde-recommendation-engine/sample_data/synthetic-micro/ratings.txt' mode='r' encoding='UTF-8'>

简单地说,这意味着它是一个访问特定文件的对象(只有写权限,因为您有w模式)。

您可以使用此对象通过target.write(.....)将内容添加到文件中

但是,请记住在最后执行target.close()来关闭该文件。

做同样事情的另一种方式,我最喜欢的是:

代码语言:javascript
运行
复制
with open(filename, 'w') as target:
    target.write(...)

这样,一旦您脱离with上下文,文件就会自动关闭。

票数 0
EN

Stack Overflow用户

发布于 2021-02-02 13:03:44

argv是由用户在shell中运行程序时提供的参数填充的列表。有关这方面的详细信息,请参阅https://docs.python.org/3/library/sys.html#sys.argv

用户从shell提供了文件名,程序使用打开调用https://docs.python.org/3/library/functions.html#open来获取该文件名上的文件句柄

该文件句柄存储在名为target的变量中(可以随意命名),以便您可以使用其他文件方法处理该文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66003861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档