我正在尝试将以下代码的输出写入.txt文件。
import os
def add(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
return("Hello, World!")
return(str(result_1))
return(str(result_2))
output = add(1,7)
save_path = 'file_path'
file_name = os.path.join(save_path, "test.txt")
file = open(file_name,'w')
file.write(output)
file.close()
当我打开.txt文件时,唯一写的是“Hello,World!”
但是,如果我将返回更改为打印并在iPython控制台而不是.txt文件中输出,我会得到以下内容。
def add_2(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
print("Hello, World!")
print(str(result_1))
print(str(result_2))
add_2(3,7)
我得到以下输出: 你好,世界! 10 20
如何将函数中返回的所有值都放入.txt文件中?
谢谢。
答案 0 :(得分:3)
import os
def add(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
return("Hello, World!")
return(str(result_1))
return(str(result_2))
output = add(1,7)
save_path = 'file_path'
file_name = os.path.join(save_path, "test.txt")
file = open(file_name,'w')
file.write(output)
file.close()
当您运行上面的代码时,一旦它到达return
函数中的第一个add
,它就会停止运行,因此永远不会处理return(str(result_1))
和return(str(result_2))
。< / p>
输出相当于:
return("Hello, World!")
return(str(result_1))
return(str(result_2))
你需要写:
return "Hello, World!" + '\n' + str(result_1) + '\n' + str(result_2)
答案 1 :(得分:0)
仅处理第一个返回,因为返回退出方法 尝试
def add(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
result = str(result_1) + str(result_2)
return result
答案 2 :(得分:0)
return
将立即退出任何函数调用。但你可以将所有结果归结为一起:
def add(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
return "Hello, World!", str(result_1), str(result_2)
答案 3 :(得分:0)
只有遇到的第一个return
函数才会触发,因为return
会立即退出任何函数调用。
如果你想要所有这些,请构建一个元组,字符串或其他一些数据结构并def add(num_1, num_2):
result_1 = num_1 + num_2
result_2 = 10 + result_1
outstr = ""
outstr += "Hello, World!"
outstr += str(result_1)
outstr += str(result_2)
return outstr
。
例如:
outstr = "{} {} {}".format("Hello, World!", result_1, result_2)
return outstr
或者为了更好的格式化,请使用.format()
return ("Hello, World!", result_1, result_2)
或者打包元组(或其他一些方便的数据结构)以便以后处理。
return "Hello, World!" + '\n' + str(result_1) + '\n' + str(result_2)
或者,如果你想要它完全按照你印刷的那样返回
"webpack": "^3.11.0"
"foundation-sites": "^6.4.4-rc1",
"jquery": "^3.3.1",
"node-sass": "^4.7.2",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-router": "^4.2.0"
每个都有其优点或缺点,取决于你打算做什么。欢呼声。