【发布时间】: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