pyfilename

Make names comply various filename constraints of Windows.


Keywords
files, file, windows
License
MIT
Install
pip install pyfilename==0.5.1

Documentation

pyfilename

Make names comply various filename constraints of Windows.

μœˆλ„μš°μ˜ λ³΅μž‘ν•œ 파일λͺ… μ œν•œλ“€μ„ λ§Œμ‘±μ‹œν‚€λŠ” μ•ˆμ „ν•œ 이름을 λ§Œλ“­λ‹ˆλ‹€.

μœˆλ„μš°λŠ” POSIX μš΄μ˜μ²΄μ œλ“€κ³Ό 달리 파일 이름에 맀우 μ—„κ²©ν•œ μ œμ•½μ΄ μžˆμŠ΅λ‹ˆλ‹€. pyfilename을 μ‚¬μš©ν•˜λ©΄ μ œν•œλœ 문자λ₯Ό μ œκ±°ν•˜κ±°λ‚˜ 전각 문자둜 λ³€ν™˜ν•˜μ—¬ κΈ°μ‘΄ 문자의 의미λ₯Ό μ†μƒμ‹œν‚€μ§€ μ•Šκ³  μœˆλ„μš°μ—μ„œ μœ νš¨ν•œ 파일λͺ…을 생성해낼 수 μžˆμŠ΅λ‹ˆλ‹€.

Note

파일λͺ…κ³Ό 폴더λͺ…은 같은 κ²ƒμ΄λ‹ˆ 폴더λͺ…에도 μ•ˆμ‹¬ν•˜κ³  μ‚¬μš©ν•˜μ„Έμš”.

Installation

pip을 톡해 이 ν”„λ‘œμ νŠΈλ₯Ό μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

pip install -U pyfilename

Functions that pyfilename have

μ•„λž˜μ—μ„œλŠ” pyfilename에 μžˆλŠ” ν•¨μˆ˜λ“€μ„ κ°„λ‹¨νžˆ μ„€λͺ…ν•©λ‹ˆλ‹€.

각 ν•¨μˆ˜μ˜ λ©”μ†Œλ“œλ‚˜ μžμ„Έν•œ κΈ°λŠ₯에 λŒ€ν•œ μ„€λͺ…은 각 ν•¨μˆ˜μ˜ docstring을 μ°Έκ³ ν•˜μ„Έμš”.

  • convert: μ•ˆμ „ν•œ 파일λͺ…을 μƒμ„±ν•©λ‹ˆλ‹€.
  • revert: μ•ˆμ „ν•΄μ§„ 파일λͺ…을 λ‹€μ‹œ μ›λž˜ λ¬Έμžμ—΄λ‘œ λ˜λŒλ¦½λ‹ˆλ‹€.
  • is_safe: 파일λͺ…이 μ•ˆμ „ν•˜κ³  μ˜¨μ „ν•œμ§€ ν™•μΈν•©λ‹ˆλ‹€.
  • is_creatable: 파일λͺ…이 '생성 κ°€λŠ₯ν•œμ§€' ν™•μΈν•©λ‹ˆλ‹€. 생성 μ‹œ 파일λͺ…이 λ³€κ²½λ˜λŠ” 것을 μ›ν•˜μ§€ μ•ŠμœΌλ©΄ is_safeλ₯Ό μ‚¬μš©ν•˜μ„Έμš”.

μ˜ˆμ‹œ

>>> import pyfilename as pf
>>>
>>> pf.is_safe('hello_world?.txt')  # Character '?' is invalid to use in file name
False
>>> safe_name = pf.convert('hello_world?.txt')  # Convert to safe name
>>> safe_name
'hello_world?.txt'
>>> pf.is_safe(safe_name)  # Now it's True.
True

μ£Όμ˜μ‚¬ν•­

  • λ°±μŠ¬λž˜μ‹œ(\)의 λŒ€μ•ˆ 문자(⧡, REVERSE SOLIDUS OPERATOR)λŠ” μœˆλ„μš° κΈ°λ³Έ zip 파일 μ œμž‘κΈ°μ—μ„œ μž…λ ₯λ˜μ§€ λͺ»ν•©λ‹ˆλ‹€. λ°˜λ””μ§‘κ³Ό 같은 λ‹€λ₯Έ zip파일 생성 νˆ΄μ„ μ΄μš©ν•˜κ±°λ‚˜ fullwidth λͺ¨λ“œ λŒ€μ‹  λ‹€λ₯Έ λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ„Έμš”.

λΉ„μŠ·ν•œ ν”„λ‘œμ νŠΈ

pathvalidateλŠ” 파일 경둜 λ¬Έμžμ—΄μ„ κ²€μ‚¬ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ λŒ€μ²΄ 문자λ₯Ό μ‚¬μš©ν•˜λŠ” λ“±μ˜ κΈ°λŠ₯은 μ—†μŠ΅λ‹ˆλ‹€.

파일λͺ… 길이

pyfilename은 전체 κ²½λ‘œκ°€ μ•„λ‹Œ 파일λͺ…을 ν™•μΈν•˜λŠ” 라이브러리이고, μœˆλ„μš°μ—μ„œλŠ” μ΅œλŒ€ 경둜 길이λ₯Ό μ‘°μ ˆν•  수 있기 λ•Œλ¬Έμ— μΌλ°˜ν™”κ°€ μ–΄λ €μ›Œ λͺ¨λ“  ν•¨μˆ˜λ“€μ—μ„œ 파일λͺ… κΈΈμ΄λŠ” ν™•μΈλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Relese Note

  • 0.5.0 (2024/04/15): ν˜„λŒ€ν™” 및 전체적인 κ°œμ„  및 였λ₯˜ μˆ˜μ •
  • 0.2.0 (2023/09/10): 전체적인 κ΅¬ν˜„ λ³€κ²½
  • 0.1.0: 첫 릴리즈