์ฐธ์กฐ ultralytics/utils/downloads.py
์ฐธ๊ณ
์ด ํ์ผ์ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/downloads .py์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ํ ๋ฆฌํ์คํธ (๐ ๏ธ)๋ฅผ ์ ์ถํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ๋์์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค ๐!
ultralytics.utils.downloads.is_url(url, check=False)
์ฃผ์ด์ง ๋ฌธ์์ด์ด URL์ธ์ง ํ์ธํ๊ณ ์ ํ์ ์ผ๋ก URL์ด ์จ๋ผ์ธ์ ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
url |
str
|
URL๋ก ์ ํจ์ฑ์ ๊ฒ์ฌํ ๋ฌธ์์ด์ ๋๋ค. |
ํ์ |
check |
bool
|
True์ด๋ฉด URL์ด ์จ๋ผ์ธ์ ์กด์ฌํ๋์ง ์ถ๊ฐ ํ์ธ์ ์ํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
False
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
bool
|
์ ํจํ URL์ด ์์ผ๋ฉด True๋ฅผ ๋ฐํํฉ๋๋ค. 'check'๊ฐ True์ธ ๊ฒฝ์ฐ URL์ด ์จ๋ผ์ธ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ True๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด False๋ฅผ ๋ฐํํฉ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.delete_dsstore(path, files_to_delete=('.DS_Store', '__MACOSX'))
์ง์ ๋ ๋๋ ํฐ๋ฆฌ ์๋์ ๋ชจ๋ '.DS_store' ํ์ผ์ ์ญ์ ํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
path |
str
|
".DS_store" ํ์ผ์ ์ญ์ ํ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก์ ๋๋ค. |
ํ์ |
files_to_delete |
tuple
|
์ญ์ ํ ํ์ผ์ ๋๋ค. |
('.DS_Store', '__MACOSX')
|
์ฐธ๊ณ
".DS_store" ํ์ผ์ Apple ์ด์ ์ฒด์ ์์ ์์ฑ๋๋ฉฐ ํด๋ ๋ฐ ํ์ผ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ์ผ์ ์ ์จ๊ฒจ์ง ์์คํ ํ์ผ์ด๋ฉฐ ๋ค๋ฅธ ์ด์ ์ฒด์ ๊ฐ์ ํ์ผ์ ์ ์กํ ๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.zip_directory(directory, compress=True, exclude=('.DS_Store', '__MACOSX'), progress=True)
์ ์ธ ๋ชฉ๋ก์ ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ ํ์ผ์ ์ ์ธํ ๋๋ ํ ๋ฆฌ์ ๋ด์ฉ์ ์์ถํฉ๋๋ค. ๊ฒฐ๊ณผ ์์ถ ํ์ผ์ ์ด๋ผ๋ ์ด๋ฆ์ด ์ง์ ๋๊ณ ๋๋ ํฐ๋ฆฌ ์์ ๋ฐฐ์น๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
directory |
str | Path
|
์์ถํ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก์ ๋๋ค. |
ํ์ |
compress |
bool
|
์์ถํ๋ ๋์ ํ์ผ์ ์์ถํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
True
|
exclude |
tuple
|
์ ์ธํ ํ์ผ๋ช ๋ฌธ์์ด์ ํํ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ('.DS_Store', '__MACOSX')์ ๋๋ค. |
('.DS_Store', '__MACOSX')
|
progress |
bool
|
์งํ๋ฅ ํ์์ค์ ํ์ํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
True
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
Path
|
๊ฒฐ๊ณผ๋ฌผ์ธ zip ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.unzip_file(file, path=None, exclude=('.DS_Store', '__MACOSX'), exist_ok=False, progress=True)
์ ์ธ ๋ชฉ๋ก์ ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ ํ์ผ์ ์ ์ธํ *.zip ํ์ผ์ ์ง์ ๋ ๊ฒฝ๋ก๋ก ์์ถ ํด์ ํฉ๋๋ค.
zip ํ์ผ์ ์ต์์ ๋๋ ํฐ๋ฆฌ๊ฐ ํ๋๋ ์๋ ๊ฒฝ์ฐ, ์ด ํจ์๋ zip ํ์ผ๊ณผ ๊ฐ์ ์ด๋ฆ์ ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ก ์์ฑํ์ฌ (ํ์ฅ์ ์์ด) ์์ถ ํ์ผ์ ๋ด์ฉ์ ์ถ์ถํฉ๋๋ค. ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉด ์ด ํจ์๋ zip ํ์ผ์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ก ์ฌ์ฉํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
file |
str
|
์ถ์ถํ zip ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. |
ํ์ |
path |
str
|
zip ํ์ผ์ ์ถ์ถํ ๊ฒฝ๋ก์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์์์ ๋๋ค. |
None
|
exclude |
tuple
|
์ ์ธํ ํ์ผ๋ช ๋ฌธ์์ด์ ํํ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ('.DS_Store', '__MACOSX')์ ๋๋ค. |
('.DS_Store', '__MACOSX')
|
exist_ok |
bool
|
๊ธฐ์กด ์ฝํ ์ธ ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฎ์ด์ธ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
progress |
bool
|
์งํ๋ฅ ํ์์ค์ ํ์ํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
True
|
์ฌ๋ฆฌ๋ค:
์ ํ | ์ค๋ช |
---|---|
BadZipFile
|
์ ๊ณต๋ ํ์ผ์ด ์กด์ฌํ์ง ์๊ฑฐ๋ ์ ํจํ zip ํ์ผ์ด ์๋ ๊ฒฝ์ฐ. |
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
Path
|
zipํ์ผ์ด ์ถ์ถ๋ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก์ ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.check_disk_space(url='https://ultralytics.com/assets/coco128.zip', path=Path.cwd(), sf=1.5, hard=True)
ํ์ผ์ ๋ค์ด๋ก๋ํ๊ณ ์ ์ฅํ ๋์คํฌ ๊ณต๊ฐ์ด ์ถฉ๋ถํ์ง ํ์ธํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
url |
str
|
ํ์ผ์ URL์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 'https://ultralytics.com/assets/coco128.zip'์ ๋๋ค. |
'https://ultralytics.com/assets/coco128.zip'
|
path |
str | Path
|
์ฌ์ฉ ๊ฐ๋ฅํ ์ฌ์ ๊ณต๊ฐ์ ํ์ธํ ๊ฒฝ๋ก ๋๋ ๋๋ผ์ด๋ธ์ ๋๋ค. |
cwd()
|
sf |
float
|
์์ ๊ณ์: ํ์ํ ์ฌ์ ๊ณต๊ฐ์ ๋ํ ์น์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 2.0์ ๋๋ค. |
1.5
|
hard |
bool
|
๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ ์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
True
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
bool
|
๋์คํฌ ๊ณต๊ฐ์ด ์ถฉ๋ถํ๋ฉด ์ฐธ์ด๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.get_google_drive_file_info(link)
๊ณต์ ๊ฐ๋ฅํ Google ๋๋ผ์ด๋ธ ํ์ผ ๋งํฌ์ ์ง์ ๋ค์ด๋ก๋ ๋งํฌ์ ํ์ผ ์ด๋ฆ์ ๊ฒ์ํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
link |
str
|
Google ๋๋ผ์ด๋ธ ํ์ผ์ ๊ณต์ ๊ฐ๋ฅํ ๋งํฌ์ ๋๋ค. |
ํ์ |
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
str
|
Google ๋๋ผ์ด๋ธ ํ์ผ์ ์ง์ ๋ค์ด๋ก๋ URL์ ๋๋ค. |
str
|
Google ๋๋ผ์ด๋ธ ํ์ผ์ ์๋ณธ ํ์ผ๋ช ์ ๋๋ค. ํ์ผ ์ด๋ฆ ์ถ์ถ์ ์คํจํ๋ฉด ์์์ด ๋ฐํ๋ฉ๋๋ค. |
์
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.safe_download(url, file=None, dir=None, unzip=True, delete=False, curl=False, retry=3, min_bytes=1.0, exist_ok=False, progress=True)
URL์์ ํ์ผ์ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ด๋ก๋ํ ํ์ผ์ ๋ค์ ์๋ํ๊ฑฐ๋ ์์ถ์ ํ๊ณ ์ญ์ ํ ์ ์๋ ์ต์ ์ด ์์ต๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
url |
str
|
๋ค์ด๋ก๋ํ ํ์ผ์ URL์ ๋๋ค. |
ํ์ |
file |
str
|
๋ค์ด๋ก๋ํ ํ์ผ์ ํ์ผ๋ช ์ ๋๋ค. ์ ๊ณตํ์ง ์์ผ๋ฉด URL๊ณผ ๋์ผํ ์ด๋ฆ์ผ๋ก ํ์ผ์ด ์ ์ฅ๋ฉ๋๋ค. |
None
|
dir |
str
|
๋ค์ด๋ก๋ํ ํ์ผ์ ์ ์ฅํ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ์ ๊ณตํ์ง ์์ผ๋ฉด ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ์ ํ์ผ์ด ์ ์ฅ๋ฉ๋๋ค. |
None
|
unzip |
bool
|
๋ค์ด๋ก๋ํ ํ์ผ์ ์์ถ์ ํ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋๋ค: True. |
True
|
delete |
bool
|
์์ถ์ ํผ ํ ๋ค์ด๋ก๋ํ ํ์ผ์ ์ญ์ ํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋๋ค: False. |
False
|
curl |
bool
|
๋ค์ด๋ก๋์ curl ๋ช ๋ น์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: False. |
False
|
retry |
int
|
๋ค์ด๋ก๋ ์คํจ ์ ๋ค์ ์๋ํ ํ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: 3. |
3
|
min_bytes |
float
|
๋ค์ด๋ก๋ํ ํ์ผ์ ํฌํจ๋์ด์ผ ํ๋ ์ต์ ๋ฐ์ดํธ ์์ ๋๋ค. ์ต์ ๋ฐ์ดํธ ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: 1E0. |
1.0
|
exist_ok |
bool
|
์์ถ์ ํธ๋ ๋์ ๊ธฐ์กด ์ฝํ ์ธ ๋ฅผ ๋ฎ์ด์ธ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
progress |
bool
|
๋ค์ด๋ก๋ ์ค ์งํ๋ฅ ํ์์ค์ ํ์ํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋๋ค: True. |
True
|
์
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 |
|
ultralytics.utils.downloads.get_github_assets(repo='ultralytics/assets', version='latest', retry=False)
์ง์ ํ ๋ฒ์ ์ ํ๊ทธ์ ์์ ์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๊ฒ์ํฉ๋๋ค. ๋ฒ์ ์ ์ง์ ํ์ง ์์ผ๋ฉด ํจ์๋ ์ต์ ๋ฆด๋ฆฌ์ค ์์ ์ ๊ฐ์ ธ์ต๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
repo |
str
|
'์์ ์/๋ฆฌํฌ์งํ ๋ฆฌ' ํ์์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 'ultralytics/assets'์ ๋๋ค. |
'ultralytics/assets'
|
version |
str
|
์์ ์ ๊ฐ์ ธ์ฌ ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ '์ต์ '์ ๋๋ค. |
'latest'
|
retry |
bool
|
์คํจ ์ ์์ฒญ์ ๋ค์ ์๋ํ๋ ํ๋๊ทธ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
tuple
|
๋ฆด๋ฆฌ์ค ํ๊ทธ์ ์์ ์ด๋ฆ ๋ชฉ๋ก์ ํฌํจํ๋ ํํ์ ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.attempt_download_asset(file, repo='ultralytics/assets', release='v8.2.0', **kwargs)
๋ก์ปฌ์์ ํ์ผ์ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ GitHub ๋ฆด๋ฆฌ์ค ์์ ์์ ํ์ผ ๋ค์ด๋ก๋๋ฅผ ์๋ํฉ๋๋ค. ์ด ํจ์๋ ๋จผ์ ๋ก์ปฌ์์ ํ์ผ์ ํ์ธํ ๋ค์ ํ์ผ์ ๋ก์ปฌ์์ ๋จผ์ ํ์ธํ ๋ค์ ์ง์ ๋ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฆด๋ฆฌ์ค์์ ๋ค์ด๋ก๋ํ๋ ค๊ณ ์๋ํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
file |
str | Path
|
๋ค์ด๋ก๋ํ ํ์ผ ์ด๋ฆ ๋๋ ํ์ผ ๊ฒฝ๋ก์ ๋๋ค. |
ํ์ |
repo |
str
|
'์์ ์/๋ฆฌํฌ์งํ ๋ฆฌ' ํ์์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 'ultralytics/assets'์ ๋๋ค. |
'ultralytics/assets'
|
release |
str
|
๋ค์ด๋ก๋ํ ํน์ ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 'v8.2.0'์ ๋๋ค. |
'v8.2.0'
|
**kwargs |
any
|
๋ค์ด๋ก๋ ํ๋ก์ธ์ค์ ๋ํ ์ถ๊ฐ ํค์๋ ์ธ์์ ๋๋ค. |
{}
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
str
|
๋ค์ด๋ก๋ํ ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. |
์ ์์ค ์ฝ๋ ultralytics/utils/downloads.py
ultralytics.utils.downloads.download(url, dir=Path.cwd(), unzip=True, delete=False, curl=False, threads=1, retry=3, exist_ok=False)
์ง์ ๋ URL์์ ์ง์ ๋ ๋๋ ํ ๋ฆฌ๋ก ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ฌ๋ฌ ์ค๋ ๋๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ ๋์ ๋ค์ด๋ก๋ ์ง์ ์ง์ ๋ ๊ฒฝ์ฐ ๋์ ๋ค์ด๋ก๋๋ฅผ ์ง์ํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
url |
str | list
|
๋ค์ด๋ก๋ํ ํ์ผ์ URL ๋๋ URL ๋ชฉ๋ก์ ๋๋ค. |
ํ์ |
dir |
Path
|
ํ์ผ์ ์ ์ฅํ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. |
cwd()
|
unzip |
bool
|
๋ค์ด๋ก๋ ํ ํ์ผ์ ์์ถ์ ํ๋ ค๋ฉด ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ True์ ๋๋ค. |
True
|
delete |
bool
|
์ถ์ถ ํ zip ํ์ผ์ ์ญ์ ํ๋ ค๋ฉด ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
curl |
bool
|
๋ค์ด๋ก๋์ ์ปฌ์ ์ฌ์ฉํ๋๋ก ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
threads |
int
|
๋์ ๋ค์ด๋ก๋์ ์ฌ์ฉํ ์ค๋ ๋ ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 1์ ๋๋ค. |
1
|
retry |
int
|
๋ค์ด๋ก๋ ์คํจ ์ ์ฌ์๋ ํ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 3์ ๋๋ค. |
3
|
exist_ok |
bool
|
์์ถ์ ํธ๋ ๋์ ๊ธฐ์กด ์ฝํ ์ธ ๋ฅผ ๋ฎ์ด์ธ์ง ์ฌ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|