새소식

Python

문자열 앞의 r 의미

  • -

파이썬에서 문자열 앞에 r을 붙이는 것은 해당 문자열을 raw string으로 처리하도록 지시하는 것이다. raw 문자열에서는 이스케이프 시퀀스(예: \n, \t, \\ 등)가 해석되지 않는다.

r을 입력하는 것과 입력하지 않는 것의 차이는 파일 경로를 입력할 때 발생한다. 예를 들어, Windows 시스템에서 파일 경로에 백슬래시(\)를 사용할 때 이 차이점이 중요해진다.

file_path = "C:\Users\user\Documents\data.csv"

이 경우, 문자열에 있는 \U와 \D는 이스케이프 시퀀스로 해석되고, 실제로 존재하지 않는 문자로 변환되므로, 파일 경로가 올바르지 않게 된다.

이 문제를 해결하기 위해, 파일 경로를 raw string으로 지정할 수 있다.

file_path = r"C:\Users\user\Documents\data.csv"

이제 파이썬은 백슬래시를 일반 문자로 처리하고 이스케이프 시퀀스를 해석하지 않는다. 따라서 파일 경로가 올바르게 유지된다.

r을 사용할지 말지는 문자열에 이스케이프 시퀀스가 있는지 여부와 관련이 있다. 이스케이프 시퀀스를 해석하지 않도록 하려면 r을 사용하자.

 

Windows, Linux, macOS에서 주요한 차이점 중 하나는 파일 경로를 표현하는 방법이다.

Windows: 파일 경로에 백슬래시(\)를 사용    ex) C:\Users\user\Documents\data.csv
Linux, macOS: 파일 경로에 슬래시(/)를 사용    ex) /Users/user/Documents/data.csv


Windows에서 백슬래시를 사용하면 이스케이프 시퀀스로 해석될 가능성이 있기 때문에 문자열 앞에 r을 사용하여 raw 문자열로 처리하도록 지시하는 것이 좋다. 이렇게 하면 파일 경로를 올바르게 처리할 수 있다.

Linux와 macOS에서는 파일 경로에 슬래시를 사용하므로 이스케이프 시퀀스 문제가 발생하지 않는다. 따라서 이러한 시스템에서는 일반적으로 raw string 표시인 r을 사용할 필요가 없다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.