🔴 یک تابع ارزشمند و کاربردی: تابعی بنویسید که یک path یا مسیر را به عنوان ورودی دریافت کرده و اجزای آن‌را تکه‌تکه کرده و به صورت یک Tuple سه قسمتی برگرداند!

نکته: عزیزانی که در هر سطحی، با زبان برنامه‌نویسی پایتون آشنایی داشته و یا با آن به طور جدی کار می‌کنند، قطعا قدر این تابع را می‌دانند!

نکته: در این Tuple سه قسمتی، اولین قسمت از سمت چپ، Location یا مسیر، دومین قسمت از سمت چپ، file_name یا نام فایل و سومین قسمت از سمت چپ، Extension یا پسوند فایل (با نقطه) برمی‌گردد.

نکته: اگر برای بدست آوردن اجزای یک مسیر، در کل اینترنت جستجو نمایید، قطعا چرندیات و کدهای نادقیقی خواهید دید که امیدوارم از این کد کمال استفاده را کرده و از آن لذت ببرید!

نکته: در صورتی که ورودی این تابع None یا "" و یا رشته‌ای فقط با Space باشد، خروجی این تابع None خواهد بود!

نکته: این کدها و آموزش‌ها، قطعا یک ارتباط معنوی با یکدیگر دارند، و انشاءالله با فیلم‌های آموزشی آتی، ارتباط و استفاده از آن‌ها در یک پروژه نسبتا بزرگ و جدی قابل روئت و استفاده خواهد بود!

درخواست: در صورتی که در این کد، بی‌دقتی و یا مشکلی مشاهده نمودید، لطفا آن‌را به اینجانب اطلاع داده تا در اسرع وقت، نسبت به ویرایش آن اقدام نمایم.

# ********************
import os

def get_path_parts(path: str):
if path == None:
return None

path = path.strip()

if path == "":
return None

location, tail = os.path.split(p=path)

items = os.path.splitext(p=tail)

file_name = items[0]
file_extension = items[1]

parts = (location, file_name, file_extension)

return parts
# ********************

#SourceCode #SourceCode10039 #Basic #General

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
🔴 یک تابع ارزشمند و کاربردی: تابعی بنویسید که یک path یا مسیر را به عنوان ورودی دریافت کرده و اجزای آن‌را تکه‌تکه کرده و به صورت یک Tuple سه قسمتی برگرداند!

در این مطلب، می‌خواهیم به جای آن‌که برنامه (تابع) مذکور را بارها!!! اجرا کرده!!! و با ورود پارامترهای مختلف، به صورت دستی، برنامه را تست نماییم، همه مواردی را که می‌خواهیم تست نماییم را یک‌بار نوشته و تا حد زیادی از صحت تابع اطمینان حاصل کنیم، یعنی به گونه‌ای یک Unit Test برای این تابع بنویسیم! این کار باعث می‌شود که حداقل شما عزیزان، به عنوان خواننده این تابع، متوجه شوید که نویسنده این تابع، با توجه به چه ورودی‌هایی، توقع چه خروجی‌هایی را داشته است!

# ********************
path = None
parts = get_path_parts(path=path)
if parts != None:
print(f"[!] Path Parsing Error! - '{path}'")

path = ""
parts = get_path_parts(path=path)
if parts != None:
print(f"[!] Path Parsing Error! - '{path}'")

path = " "
parts = get_path_parts(path=path)
if parts != None:
print(f"[!] Path Parsing Error! - '{path}'")

path = "Alaki"
parts = get_path_parts(path=path)
if ("", "Alaki", "") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = "Alaki.txt"
parts = get_path_parts(path=path)
if ("", "Alaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = "Alaki.Dolaki.txt"
parts = get_path_parts(path=path)
if ("", "Alaki.Dolaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = " Alaki.Dolaki.txt "
parts = get_path_parts(path=path)
if ("", "Alaki.Dolaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

# In Windows

path = "C:\\A\\"
parts = get_path_parts(path=path)
if ("C:\\A", "", "") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = "C:\\A\\Alaki.Dolaki.txt"
parts = get_path_parts(path=path)
if ("C:\\A", "Alaki.Dolaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

# In Linux / Mac

path = "/A/"
parts = get_path_parts(path=path)
if ("/A", "", "") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = "/A/Alaki.Dolaki.txt"
parts = get_path_parts(path=path)
if ("/A", "Alaki.Dolaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")

path = "/Alaki.Dolaki.txt"
parts = get_path_parts(path=path)
if ("/", "Alaki.Dolaki", ".txt") != parts:
print(f"[!] Path Parsing Error! - '{path}'")
# ********************

#SourceCode #SourceCode10039 #Basic #General

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2