【问题标题】:How to pass a .txt file as a function argument in Python?如何在 Python 中将 .txt 文件作为函数参数传递?
【发布时间】:2020-04-01 07:44:35
【问题描述】:

我的程序有问题。我被要求编写一个代码,提示用户输入文件(.txt 文件),然后将其作为参数传递给我的第一个函数。这是我写的代码:

filepath = input('Enter your file here: ')
with open(filepath) as fp:
    for cnt, line in enumerate(fp):
        print('Line {}: {}'.format(cnt, line))

下面是函数:

string = 'abcd acbd adbc adcb 100,000'

def function_one(string):
    modify_one = string.split(' ')
    my_tuple = (modify_one[3], modify_one[2], modify_one[4], modify_one[1], 
    modify_one[0])
    print(my_tuple)

def function_two(my_tuple):
    print(my_tuple)
    formatted = '|{:<15} | {:<15} | {:<8} | {:<15} | {:<15}|'.format(*my_tuple)
    print(formatted)

function_one(string)
function_two(my_tuple)

所以 function_one 将一个字符串作为参数,将其拆分并变成一个元组。元组被传递给 function_two,后者将其格式化为表格。

重要 我想提一下,我将这两个代码写在不同的文件上,所以它们还没有相互连接。这个想法是函数对 .txt 文件中的文本执行操作。然而,我真的很挣扎这部分。两个代码分别正常工作。如果标题具有误导性,或者我的问题结构不够好,我深表歉意。提前谢谢你。

【问题讨论】:

  • 我不明白这个问题。您只需要从主循环中输入函数。在您的第一个代码的循环内,使用 enumerate 添加 function_one(line)...
  • @Tomerikoo 我不知道该怎么做...
  • 您在 1 小时前提出并删除了完全相同的问题...stackoverflow.com/questions/59226991/…
  • @HristoGeorgiev 与它所写的完全一样:将function_one(line) 行放在print('Line {}: {}'.format(cnt, line)) 之后的循环内
  • 不要在另一个函数中定义函数。

标签: python string function file tuples


【解决方案1】:

你必须像这样在另一个模块中导入函数:

from function_one_file import function_one

a = input()
function_one(a)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    相关资源
    最近更新 更多