![](/img/trans.png)
[英]How can I take an inut list from user in one function, and transfer the tuple data to another function?
[英]How can I transfer data from one funtction to another?
我正在嘗試將從一個函數(讀取)接收到的數據傳輸到另一個(寫入)。 file.txt 中的現有數據應轉換為 json 格式並打印到控制台,該數據應由第二個函數獲取並寫入名為 pfile.txt 的文件中。 我只是不能讓他們一起工作。 當在普通 shell 中將每個函數作為命令單獨運行時,它們可以工作; 結合起來,沒有那么多。 我在這里缺少什么?
def reading():
filename = 'file.txt'
with open(filename, 'r') as f:
print(json.loads(f.read()))
reading()
def writing():
with open('pfile.txt', 'w+') as pf:
pf.write(reading() in writing()) <-- this doesn't work
pf.write('hello SO') <-- this does work
writing()
當您使用一對括號引用函數時,Python 將不帶參數調用該函數並解析它的返回值(如果有)。 這不是 bash; 函數將數據作為內存中的變量相互傳遞,而不是通過 stdin/stdout。
您編寫的代碼似乎充斥着無限循環(函數調用自己),並且可能會因“超出遞歸深度”錯誤而崩潰。 這些可以通過不調用自身內部的函數(或具有相互調用的函數循環)來修復。
您編寫的代碼不需要多個功能。 我會歸結為 1 個功能:
def read_and_write():
filename = 'file.txt'
with open(filename, 'r') as f:
content = json.loads(f.read())
print(content)
with open('pfile.txt', 'w+') as pf:
pf.write(content)
如果您需要兩個功能,請嘗試以下操作:
def read():
filename = 'file.txt'
with open(filename, 'r') as f:
content = json.loads(f.read())
return content
def write():
content = read()
with open('pfile.txt', 'w+') as pf:
pf.write(content)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.