Ipython: ์ž˜๋ชป๋œ ์ธ์ฝ”๋”ฉ์˜ python ํŒŒ์ผ๊ณผ ์ถฉ๋Œ

์— ๋งŒ๋“  2016๋…„ 09์›” 17์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ipython/ipython

%run # -*- coding: utf-8 -*- ๋กœ ํ‘œ์‹œ๋œ python ํŒŒ์ผ์„ utf8์ด ์•„๋‹Œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๋ฉด ipython์ด ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์…ธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ).
์ถฉ๋Œ์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ํŒŒ์ผ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋น„ ASCII ๋ฌธ์ž ํฌํ•จ
  • ์˜ค๋ฅ˜ ํฌํ•จ(python3์œผ๋กœ ์‹คํ–‰ํ•  ๋•Œ ์Šคํƒ ์ถ”์ ์ด ์ƒ์„ฑ๋˜์ง€๋งŒ ์ถฉ๋Œ์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ)
  • ์ž˜๋ชป๋œ ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅ

๋‹ค์Œ์€ ์Šคํƒ ์ถ”์ ๊ณผ ํ•จ๊ป˜ ISO-8859-15์— ์ €์žฅ๋œ ์ด๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์ž‘์€ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.
ํŒŒ์ผ.zip

%run wrong_encoding.py
...
... <long trace>
...
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 78: invalid continuation byte
 python3 -c "import IPython; print(IPython.sys_info())"
{'commit_hash': '5c9c918',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/usr/lib/python3.4/site-packages/IPython',
 'ipython_version': '5.1.0',
 'os_name': 'posix',
 'platform': 'Linux-3.16.7-42-desktop-x86_64-with-SuSE-13.2-x86_64',
 'sys_executable': '/usr/bin/python3',
 'sys_platform': 'linux',
 'sys_version': '3.4.5 (default, Jul 03 2016, 13:55:08) [GCC]'}

๋ฌผ๋ก  ํŒŒ์ผ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด์ƒ์ ์œผ๋กœ๋Š” ์„ธ์…˜์ด ์†์‹ค๋˜์ง€ ์•Š๊ณ  ๋ณด๋‹ค ์œ ์ตํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” 13๊ฐœ์˜ ์—ฐ๊ฒฐ๋œ ์—ญ์ถ”์ ์„ ์„ธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ทธ ๋งŒํผ์˜ ์—ญ์ถ”์ ์„ ์–ป์œผ๋ฉด ์ผ์ข…์˜ ์ƒ์„ ๋ฐ›์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ;-)

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‚˜๋Š” 13๊ฐœ์˜ ์—ฐ๊ฒฐ๋œ ์—ญ์ถ”์ ์„ ์„ธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ทธ ๋งŒํผ์˜ ์—ญ์ถ”์ ์„ ์–ป์œผ๋ฉด ์ผ์ข…์˜ ์ƒ์„ ๋ฐ›์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ;-)

9955๋Š” ์ด์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ์ˆ˜์ •์ž…๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๋Š” ์ •๋ณด๊ฐ€ ๋งŽ์ง€ ์•Š์ง€๋งŒ IPython์ด ์ถฉ๋Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ด๋ฆ„์— ์ ‘๊ทผํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฒ”์ธ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

find . -name "*.py" -exec file {} \; | grep -v ASCII | grep -v UTF-8 | grep -v empty

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰