os模块,试图识别文件的路径

时间:2015-04-13 13:22:26

标签: python

我构建了一个名为Assembler.py的小程序:

 def main(argv):
     temp = os.path.realpath(argv[1])
     if temp.endswith(".asm"):
         print(temp)
     else:
         print("submit a valid file")

 if __name__ == "__main__":
     main(sys.argv)

我用我构建的一些脚本运行它:

python Assembler.py $1

运行示例:

Assembler pong.asm

我不知道为什么if错了。为什么我的地址不以.asm结尾?

2 个答案:

答案 0 :(得分:0)

你的所有代码都是这样的:

#coding=utf-8

import os
import sys

def main(argv):
     temp = os.path.realpath(argv[1])
     if temp.endswith(".asm"):
         print(temp)
     else:
         print("submit a valid file")

if __name__ == "__main__":
     main(sys.argv)

然后,您应该直接使用python Assembler pong.asm。 例如:

C:\Users\ou\Desktop\test>python test.py xyz.asm
C:\Users\ou\Desktop\test\xyz.asm

答案 1 :(得分:0)

if没有任何问题。问题在于shell脚本以及尝试运行它的方式。

如果你想直接运行你的python代码,你应该运行

python Assembler.py pong.asm

.py扩展名很重要!

如果你想编写简单的shell脚本来包装它。您可以使用以下内容创建名为Assembler的文件:

python Assembler.py $1

要运行该简单的shell脚本,您应该运行:

./Assembler pong.asm

sh Assembler pong.asm

需要./sh