gpt4 book ai didi

python - 检查目录在 Python 中是否有效

转载 作者:可可西里 更新时间:2023-11-01 09:55:59 25 4
gpt4 key购买 nike

我有一个 python 2.7 程序,它根据用户输入编写某些文件和目录。我需要确保文件和目录对 linux 和 windows 都有效,因为文件将通过两个操作系统进行交换。这些文件最初将在 linux 中创建并手动移动到 windows。

我已经检查了 Python 文档、堆栈交换和几页谷歌,但没有找到任何有用的信息,这很奇怪,因为我认为这将是一个相当普遍的问题。

有没有简单的解决方案?

编辑:我想验证目录文件名,以防用户输入不适用于 linux 或 windows 的路径。例如,如果用户输入“Folder1/This:Error/File.txt”,程序会将其视为错误。

该程序将在Linux 中运行并在linux 中写入文件,但稍后会将文件移动到windows。正斜杠/反斜杠的差异不是问题,但其他可能适用于 linux 但不适用于 windows 的字符会出现问题。

此外,文件或目录通常不存在(因为它们即将被创建)所以我需要检查保存在字符串中的路径是否是有效路径。

最佳答案

我不确定是否有内置函数可以满足您的需求,因此您可能需要自己完成。

最好的办法是创建一个您知道有效的字符的“白名单”。例如:字母数字、下划线等。然后,如果用户给出的文件名中有任何字符不在此列表中,则抛出错误。这个白名单是否遗漏了一些应该起作用的字符并不重要;做到 95% 正确(只要 5% 是假阴性)应该没问题。

请记住,除了无效字符之外,还可能存在一些问题。参见 this question编写此类函数时的各种注意事项。

最后,一种解决方案是自己命名文件,而不是让用户自己命名。根据您的情况,您可能能够使用一个文件名存储文件,但在应用程序中,您会看到它以不同的名称引用。当然,如果用户将直接在您的程序之外访问这些文件,这可能会造成混淆。

关于python - 检查目录在 Python 中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com