标签: path-manipulation

如何只获取Python中路径的最后一部分?

在Python中,假设我有这样的路径:

/folderA/folderB/folderC/folderD/
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这个folderD部分?

python path path-manipulation

203
推荐指数
7
解决办法
12万
查看次数

Windows上的Python os.path.join

我正在尝试学习python并正在制作一个将输出脚本的程序.我想使用os.path.join,但我很困惑.根据文件,如果我说:

os.path.join('c:', 'sourcedir')
Run Code Online (Sandbox Code Playgroud)

我得到"C:sourcedir".根据文档,这是正常的,对吧?

但是当我使用copytree命令时,Python会以所需的方式输出它,例如:

import shutil
src = os.path.join('c:', 'src')
dst = os.path.join('c:', 'dst')
shutil.copytree(src, dst)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误代码:

WindowsError: [Error 3] The system cannot find the path specified: 'C:src/*.*'

如果我换行os.path.joinos.path.normpath我得到同样的错误.

如果os.path.join不能以这种方式使用,那么我对其目的感到困惑.

根据Stack Overflow建议的页面,不应该在连接中使用斜杠 - 这是正确的,我假设?

python windows path-manipulation

83
推荐指数
7
解决办法
9万
查看次数

在emacs lisp中将多个路径组件连接到单个完整路径的正确方法是什么?

假设我有变量dir并且分别file包含表示目录和文件名的字符串.emacs lisp将它们连接到文件的完整路径的正确方法是什么?

例如,如果dir"/usr/bin"file"ls"的话,我想"/usr/bin/ls".但是,如果不是dir就是"/usr/bin/",我还是希望同样的事情,没有重复的斜线.

filenames elisp path-manipulation

48
推荐指数
5
解决办法
1万
查看次数

标准(或免费)POSIX路径操作C库

是否有任何标准(或广泛使用)的简单POSIX路径操作库用于C(路径连接,文件名剥离等)?

实际上,因为我主要在Windows下工作,所以我目前使用'shlwapi'路径功能.

是否有适用于POSIX路径的等效函数集?

c path-manipulation

7
推荐指数
1
解决办法
4831
查看次数

如何修复某些Java代码中的"路径操作漏洞"?

以下简单的java代码获取Fortify Path Manipulation错误.请帮我解决这个问题.我很长时间都在苦苦挣扎.

public class Test {
    public static void main(String[] args) {
        File file=new File(args[0]);
    }

}
Run Code Online (Sandbox Code Playgroud)

security path-manipulation fortify

7
推荐指数
3
解决办法
5万
查看次数

路径操作(安全漏洞)

Fortify安全审查向我们通报了一些路径操纵漏洞.大多数已经很明显,很容易修复,但我不明白如何解决以下问题.

string[] wsdlFiles = System.IO.Directory.GetFiles(wsdlPath, "*.wsdl");
Run Code Online (Sandbox Code Playgroud)

"wsdlPath"是从文本框输入的.这是不能修复的东西吗?我可以验证存在的路径等,但是如何帮助漏洞呢?

.net c# security path-manipulation

6
推荐指数
1
解决办法
6881
查看次数

如何使用路径字符串的基本部分提取子字符串

有几个关于字符串操作的问题,但我找不到允许我执行以下操作的答案——我认为它应该很简单......

我有一个 DataFrame,其中包含一个包含文件名和路径的列

下面生成一个具有代表性的示例 DataFrame:

index = ['1']
columns=['root']
df = pd.DataFrame(index=index,columns=columns)
path = 'C:\\folder1\\folder2\\folder3\\folder4\\filename.csv'
df['root']=path
df

Out[89]:
root
C:\folder1\folder2\folder3\folder4\filename.csv 
1 rows × 1 columns
Run Code Online (Sandbox Code Playgroud)

我只想得到字符串的“文件名”部分。行数多,路径不固定,不能用str.replace

我可以像这样去掉最右边的“.csv”部分:

df['root'] = df['root'].str.rstrip('.csv')    
df


Out[90]:
root
C:\folder1\folder2\folder3\folder4\filename 
1 rows × 1 columns
Run Code Online (Sandbox Code Playgroud)

- 但我无法使用我读过的任何方法来删除字符串左侧的路径部分。

鉴于路径的前面元素可以从记录更改为记录,我如何仅返回此路径(字符串)的“文件名”部分?

有人有建议吗?非常感谢任何帮助。

python string path-manipulation pandas os.path

4
推荐指数
1
解决办法
4110
查看次数

代码审查:在给定完整文件路径的情况下确定文件夹是否存在?

将函数传递给文件的完整路径,例如C:\someFolder\anotherFolder\someXML.xml,确定文件夹是否存在.这样做有更聪明/更好/更优雅的方式吗?这是我的实现:

Private Function FolderExists(ByVal fullPath As String) As Boolean
    Dim folders() As String = fullPath.Split("\")
    Dim folderPath As String = ""
    For i As Integer = 0 To folders.Length - 2 'subtract 2 to avoid appending the filename.
        folderPath += folders(i) + "\"
    Next
    Dim f As New DirectoryInfo(folderPath)
    Return f.Exists
End Function
Run Code Online (Sandbox Code Playgroud)

.net vb.net path-manipulation

3
推荐指数
1
解决办法
354
查看次数

Path.Combine的安全版本

我有一个rootPath我信任的relativePath,而我不信任.我希望以这样的方式组合它们,以确保结果不足rootPath并且用户不能使用它..来回到起点.我确实希望相对路径允许以下内容:hello\..\world==world

.net relative-path path-manipulation

2
推荐指数
1
解决办法
848
查看次数

Python os.path.join Linux 上的绝对路径

我有一个这样的文件路径:

file_name = full_path + env + '/filename.txt'
Run Code Online (Sandbox Code Playgroud)

其中:

  • full_path 是 '/home/louis/key-files/
  • env 是“产品”

=> 文件名是 '/home/louis/key-files/prod/filename.txt'

我想使用 os.path.join

file_name = os.path.abspath(os.path.join(full_path, env, '/filename.txt'))
Run Code Online (Sandbox Code Playgroud)

但是返回的结果只有: file_name = '/filename.txt'

我怎样才能得到上面的预期结果?谢谢

python linux string join path-manipulation

1
推荐指数
1
解决办法
3065
查看次数