如何将变量传递给os.chdir()方法



我想将location = "C:Program Files (x86)DATAQ Instruments11005F80861ATesting 04-28-2021"传递给os.chdir()方法,但收到以下错误:

os.chdir(location)

OSError:[WinError 123]文件名、目录名或卷标语法不正确:"C:\Program Files(x86(\DATAQ InstrumentsH0\x05F80861A\Testing 04-28-2021">

我还尝试过使用字符串格式方法来传递变量。

os.chdir(r"{}".format(location))

但仍然会出现同样的错误。

有什么解决这个问题的建议吗?

其中一个答案建议使用location = r"C:Program Files (x86)DATAQ Instruments11005F80861ATesting 04-28-2021",它有效,但请参阅下面的更新。

更新:我想提到的是,我将使用sys.argv方法来使用终端获取位置变量。因此,我担心如何在代码中将位置变量设置为原始字符串。

我看到一篇关于通过以下操作将字符串转换为原始字符串的帖子:

location = "C:Program Files (x86)DATAQ Instruments11005F80861ATesting 04-28-2021"
location = location.encode('unicode_escape')

b'C:\\Program Files(x86(\\DATAQ仪器H0\x05F80861A\\Testing 04-28-2021’

现在,如果我将位置传递给os.chdir((,它仍然会给我同样的错误。

在您的路径中,您有一些unicode字符,它们是11005

您可以直接使用原始字符串,同时定义像这样的位置

location = r"C:Program Files (x86)DATAQ Instruments11005F80861ATesting 04-28-2021"
print(os.chdir(location))

最新更新