你的代码很好。输入文件名时出错。检查该文件是否确实存在。
>>> filename=raw_input('enter filename :')
enter filename :c:\Users\All Users\Autodesk\Revit\Addins\2012\RevitLookup.addin
>>> txt = open(filename)
>>> print txt.read()
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<RevitAddIns>
<AddIn Type="Application">
<Assembly>C:\Program Files (x86)\Revit 2012 SDK\RevitLookup\CS\bin\Debug\RevitLookup.dll</Assembly>
<ClientId>356CDA5A-E6C5-4c2f-A9EF-B3222116B8C8</ClientId>
<FullClassName>RevitLookup.App</FullClassName>
<Name>Revit Lookup</Name>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
</RevitAddIns>
(呃,这只是我碰巧在我的电脑上放着的一些文件......)
确保在输入文件时不要使用引号 - 或在之后去掉它们!这样做argv
可能会起作用,但绝对不是raw_input
。
编辑:我认为这就是问题所在:您正在输入带引号的文件名(例如当您在资源管理器中右键单击“复制为路径”时得到的)。对于sys.argv
,这些被(Python?OS?我认为是 Python ......)删除,但不是raw_input
.