Python-获取文件目录作为用户输入

标签 python file glob rawstring

从用户定义的目录获取文件列表时遇到一些问题。下面的代码工作正常:

inputdirectory = r'C:/test/files'
inputfileextensions = 'txt'
files = glob.glob(inputdirectory+"*."+inputfileextensions)

但我想允许用户输入位置。我尝试过以下代码:

inputdirectory = input("Please type in the full path of the folder containing your files:    ")
inputfileextensions = input("Please type in the file extension of your files:    ")
files = glob.glob(inputdirectory+"*."+inputfileextensions)

但是这不起作用。不会出现错误消息,但文件返回为空。我尝试在目录中输入引号、正斜杠和反斜杠,但无法使其工作。我还尝试使用“r”将输入转换为原始字符串,但语法可能是错误的。有什么想法吗?

最佳答案

不太确定第一个版本对您来说如何。定义变量的方式,您应该将 glob 的输入如下所示:

inputdirectory+"*."+inputfileextensions == "C:\test\files*.txt"

查看上述值,您可以意识到这并不是您想要实现的目标。相反,您需要使用反斜杠运算符连接两个路径。像这样的东西:

os.path.join(inputdirectory, "*."+inputfileextensions) == "C:\test\files\*.txt"

通过此更改,无论输入是来自用户还是预定义的,代码都应该可以正常工作。

关于Python-获取文件目录作为用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47432043/

相关文章:

python - 如何用另一个索引字符串 Python 替换 String 的所有实例

c# - 如何在 C# .NET 中读取二进制数据,然后将其转换为字符串?

php - 为什么 PHP 函数 glob() 会返回与通配符不匹配的文件?

powershell - 如何使用 Invoke-WebRequest 的 -OutFile 参数转义文件路径中的方括号

php - 如何避免使用 PHP cURL 进行 URL 通配?

python - 套索 - 选择 scikit 坐标下降的初始点

python - 呈现 : 'int' object is not iterable in django template 时捕获类型错误

python宽度语法错误

java - 释放 java 文件句柄

c++ - 如何格式化字符串流的输出?