【问题标题】:File name string not working文件名字符串不起作用
【发布时间】:2013-05-29 11:53:15
【问题描述】:

当我调用这个文件名时在我的程序中:

msTestPrompt = r'"C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\MSTest.exe"'

它不起作用,它说文件名、目录名或卷语法不正确。我已经尝试了几乎所有方法的组合来解决这个问题,但无论我对字符串做什么,我都无法让它工作。提前感谢您的帮助。

编辑:这是使用文件名字符串的原因

p = subprocess.Popen([msTestPrompt, blah], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

Edit2:这是 blah 变量:

resultsFile = "/resultsfile:" + os.path.normpath('"C:/BB1.trx"')
testSettings = "/testsettings:" + os.path.normpath('"C:/Users/bgb/Documents/Brent/Code/Visual Studio/Local.testsettings"')
testContainer = '/testcontainer:"C:\Users\bgb\Documents\Brent\Code\Visual Studio\DesignF.UnitTests\bin\Debug\DesignF-UnitTests.dll"'
blah = str(' ' + testContainer + ' ' + resultsFile + ' ' + testSettings)

【问题讨论】:

  • 那是确切代码吗?请注意,在第一种情况下,您有一个名为msTestPrompt 的变量,但在另一种情况下,您使用msBuildPromptmsBuildPrompt 的值是多少?

标签: python string filepath


【解决方案1】:

尝试: msTestPrompt = r'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe'

如果将r 放在字符串前面,则不再需要转义反斜杠。

编辑: 如果将blah 变量更改为:

resultsFile = r'/resultsfile:C:\BB1.trx'
testSettings = r'/testsettings:C:\Users\bgb\Documents\Brent\Code\Visual Studio\Local.testsettings'
testContainer = r'/testcontainer:C:\Users\bgb\Documents\Brent\Code\Visual Studio\DesignF.UnitTests\bin\Debug\DesignF-UnitTests.dll'
blah = str(' ' + testContainer + ' ' + resultsFile + ' ' + testSettings)

【讨论】:

  • 你得到什么错误?同时发布使用 sTestPrompt 变量的代码
  • 错误提示:The filename, directory name, or volume label syntax is incorrect.
  • 那个代码没问题。我测试了它并且它有效。也许问题出在blah 变量上?
  • 好吧,当我将所有内容复制并粘贴到命令行提示符时它可以工作,但是当我运行这个程序时它就不起作用所以如果这很好,那么我真的不知道是什么是错误的...... :(我会在几秒钟内在这里发布 blah 变量
猜你喜欢
  • 2016-07-08
  • 2012-11-29
  • 2012-12-15
  • 2012-01-02
  • 2016-10-27
  • 1970-01-01
  • 2015-01-12
  • 1970-01-01
  • 2016-03-09
相关资源
最近更新 更多