I am new to the advanced problems of python. I am trying to get good if you want to make any correction it is welcomed.
I want to do run function in Run File. I can’t pass the return value of a function without altering its value.
Then assign fpath in the function firstfile.py to the secondfile.py script’s sav_img variable and be able to work inside of another function.
I need to do this beacuse i can only access to the run file. When i update repo.
Run Order
Run File
import Firstfile i = "C:\Users\Hp\Desktop\1.jpg" First File.file_path(i)
First File
def file_path(fpath): return fpath
Second File
from First File import file_path sav_img = file_path() print(sav_img)
Error on sav_img
TypeError: file_path() missing 1 required positional argument: 'fpath'
sav_img = file_path.fpath doesn’t working either. I know i need to pass value but i don’t want to alter its value
Advertisement
Answer
One possibility is to get the function to save the return value when called with a parameter, but return the saved value when called with none.
First File
def file_path(fpath = None): if fpath is None: return file_path.fpath else file_path.fpath = fpath return fpath
Second File
from FirstFile import file_path sav_img = file_path() print(sav_img)
However, this relies on the first caller never using None
as the parameter.