J'ai besoin d'obtenir la dernière partie du répertoire actuel, par exemple à partir de /Users/smcho/filegen_from_directory/AIRPassthrough
, je dois obtenir AIRPassthrough
.
Avec python, je peux l'obtenir avec ce code.
import os.path
path = "/Users/smcho/filegen_from_directory/AIRPassthrough"
print os.path.split(path)[-1]
Ou
print os.path.basename(path)
Comment puis-je faire la même chose avec C #?
AJOUTÉE
Avec l'aide des répondeurs, j'ai trouvé ce dont j'avais besoin.
using System.Linq;
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = fullPath.Split(Path.DirectorySeparatorChar).Last();
ou
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = Path.GetFileName(fullPath);
os.path.basename(path)
.Réponses:
Vous cherchez
Path.GetFileName
.Notez que cela ne fonctionnera pas si le chemin se termine par un
\
.la source
Path.GetFileName("/Users/smcho/filegen_from_directory/AIRPassthrough")
dans LINQPad si vous ne me croyez pas.Path
classe gère les deux séparateurs.Tu pourrais essayer:
la source
Eh bien, pour répondre exactement au titre de votre question :-)
la source
C'est une réponse légèrement différente, selon ce que vous avez. Si vous avez une liste de fichiers et que vous avez besoin d'obtenir le nom du dernier répertoire dans lequel se trouve le fichier, vous pouvez le faire:
Cela renverra "2938_parentid"
la source
plutôt que d'utiliser le '/' pour l'appel à fractionner, mieux vaut utiliser le
Path.DirectorySeparatorChar
:ainsi:
la source
Cela fonctionne si le chemin contient des séparateurs de barre oblique avant ou des séparateurs de barre oblique inverse.
la source
.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)
marche aussi.Essaye ça:
Le code est peut-être désactivé (je ne l'ai pas testé) mais l'idée devrait fonctionner
la source
Cela fonctionne parfaitement bien avec moi :)
la source
Vous pouvez essayer le code ci-dessous:
Path.GetFileName(userpath)
la source
Vous pouvez également utiliser la classe Uri.
Vous pouvez préférer utiliser cette classe si vous souhaitez obtenir un autre segment, ou si vous souhaitez faire la même chose avec une adresse Web.
la source