예를 들어에서 /Users/smcho/filegen_from_directory/AIRPassthrough
와 같이 현재 디렉토리의 마지막 부분 을 가져와야 AIRPassthrough
합니다.
파이썬 으로이 코드로 얻을 수 있습니다.
import os.path
path = "/Users/smcho/filegen_from_directory/AIRPassthrough"
print os.path.split(path)[-1]
또는
print os.path.basename(path)
C #으로 같은 작업을 어떻게 수행 할 수 있습니까?
추가
응답자의 도움을 받아 필요한 것을 찾았습니다.
using System.Linq;
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = fullPath.Split(Path.DirectorySeparatorChar).Last();
또는
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = Path.GetFileName(fullPath);
답변
찾고 있습니다 Path.GetFileName
.
경로가로 끝나는 경우 작동하지 않습니다 \
.
답변
시도해 볼 수 있습니다 :
var path = @"/Users/smcho/filegen_from_directory/AIRPassthrough/";
var dirName = new DirectoryInfo(path).Name;
답변
글쎄, 당신의 질문 제목 에 정확하게 대답하기 위해 🙂
var lastPartOfCurrentDirectoryName =
Path.GetFileName(Environment.CurrentDirectory);
답변
이것은 당신이 가진 것에 따라 약간 다른 대답입니다. 파일 목록이 있고 파일이있는 마지막 디렉토리의 이름을 가져와야하는 경우 다음을 수행 할 수 있습니다.
string path = "/attachments/1828_clientid/2938_parentid/somefiles.docx";
string result = new DirectoryInfo(path).Parent.Name;
“2938_parentid”를 반환합니다
답변
대신 호출을 나누기 위해 ‘/’를 사용하면 Path.DirectorySeparatorChar
다음 을 사용하는 것이 좋습니다 .
이렇게 :
path.split(Path.DirectorySeparatorChar).Last()
답변
var lastFolderName = Path.GetFileName(
path.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar));
경로에 슬래시 구분 기호 나 백 슬래시 구분 기호가 포함 된 경우 작동합니다.
답변
이 시도:
String newString = "";
Sting oldString = "/Users/smcho/filegen_from_directory/AIRPassthrough";
int indexOfLastSlash = oldString.LastIndexOf('/', 0, oldString.length());
newString = oldString.subString(indexOfLastSlash, oldString.length());
코드가 꺼져있을 수 있지만 (테스트하지는 않았지만) 아이디어는 효과가 있습니다.