Python将Windows资源管理器中的路径文件复制并粘贴到变量中

时间:2016-04-26 14:18:20

标签: python-3.x

我在Python3.4中开发了一个软件,它输入一个包含一组变量的配置文件,其中一些是路径。

我的文件路径名中的分隔符有问题。 我知道我可以在字符串前放一个“r”或者使用双反斜杠或斜杠来生成一个原始字符串,但是因为这个软件会被其他用户使用而且普通的只是一个“复制和粘贴” “伙计,我不希望他们操纵文件名。

因此,用户只需从Windows资源管理器中复制文件路径并粘贴到配置文件中,例如:

path_variable = "C:\Users\home\room\table.txt"

我想编写一个修改它的函数,以便可以使用。

我该怎么办?如果我以这种方式离开字符串,我会因为\ U ...

而获得unicode错误

非常感谢,

Ciccio

更新

配置文件不是python文件,只是变量中的.txt文件及其值:

var_name = var_val
path_variable = "C:\Users\home\room\table.txt"
height = 20
plot_write_variable = ["y", "n"]

在我完成GUI之前,这只是一个临时解决方案。这个文件必须非常容易理解,并且必须由不具备Python或编程知识的人使用该软件。最终用户只需更改变量值并单击可执行文件即可运行程序,而不是其他任何内容。出于这个原因,我想尽可能避免使用任何python命令。

要读取配置文件,我使用此功能:

import imp
def read_inputFile(path):
    file = open(path)
    variables = imp.load_source('data', '', file)
    file.close()
    return variables

2 个答案:

答案 0 :(得分:0)

您的配置文件不必用Python编写。你可以使用configparser,据我所知,它并没有特别解释反斜杠。

这可能需要对配置文件的逻辑进行一些重新处理。您可以使用import模块解析它,而不是使用configparser语句直接导入配置文件。您可能还需要调整配置文件的语法以匹配configparser期望的内容。

答案 1 :(得分:0)

您说您的用户是"复制并粘贴"有点家伙,但你有他们将文件位置粘贴到配置文件中。我不知道你的代码,但如果配置文件是python,你可以添加一行:

path_variable = input("Enter the path").replace("\\", "\\\\")

Python将\\解释为\,这可以解决您的问题

这解决了将它们复制粘贴到文件中的问题,而是提示它们输入文件路径。