קבלת file_handler מתוך פונקציה

האם יש דרך לקבל file_handler כערך החזרה של פונקציה, בלי שהפונקציה תסגור את הקובץ, אבל מצד שני כן תאפשר קבצים שונים במשך התוכנית?

חשבתי למשל לבנות פונקציית עזר - שפותחת קובץ , בודקת שאין בו שגיאות, ומחזירה לי את הקובץ כדי שאני אמשיך ואעבוד עליו, בהתאם למה שהתוכנית שלי זקוקה. האם זה נהוג?

היי. אין בעיה עם זה מבחינה טכנית, אבל זה נשמע לי קצת כמו מתכון לצרות ו־coupling.
כנראה שהייתי נמנע אם אפשר.