【问题标题】:How can I pass a .txt file as a function parameter如何将 .txt 文件作为函数参数传递
【发布时间】:2014-06-18 18:38:08
【问题描述】:

假设我有一个函数可以读取 .txt 文件并根据该文件中的数据列创建数组。我现在在函数中的内容如下所示:

data = open("some_file_name.txt","r")

但如果我想更改函数读取的 .txt 文件,我必须手动进入代码并在再次运行之前输入新文件名。相反,如何将任何文件名传递给函数,使其看起来像:

my_function(/filepath/some_file_name.txt):
    data = open("specified_file_name.txt","r")

【问题讨论】:

    标签: function python-2.7 filepath


    【解决方案1】:

    我想你想要

    def my_function(filepath):
        data = open(filepath, "r")
        ...
    

    然后

    my_function("/filepath/some_file_name.txt")
    

    或更好:

    def my_function(data):
        ...
    

    然后

    with open("/filepath/some_file_name.txt", "rb") as data:
        my_function(data)
    

    后一个版本允许您将任何类似文件的对象传递给my_function()。

    更新:如果您想花哨并允许文件名或文件句柄:

    def my_func(data):
        if isinstance(data, basestring):
            with open(data, 'rb') as f:
                return my_func(f)
        ...
    

    【讨论】:

    • 感谢您的快速响应!
    猜你喜欢
    • 2020-04-01
    • 2017-11-12
    • 2021-03-14
    • 2014-06-29
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2021-01-14
    • 2019-11-06
    相关资源
    最近更新 更多