Python 操作系统模块,尝试识别文件的路径
我构建了一个名为Python 操作系统模块,尝试识别文件的路径,python,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) 我正在使用我创建的一些脚本运行此程序
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
我不知道为什么
是错的。为什么我的地址不以.asm
结尾?您的所有代码如下:
#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汇编程序pong.asm
。
例如:
如果
,则没有问题。问题在于shell脚本以及您尝试运行它的方式
如果您想直接运行python代码,应该运行
python Assembler.py pong.asm
.py
扩展非常重要
如果您想编写简单的shell脚本来包装它。您可以创建名为Assembler
的文件,其内容如下:
python Assembler.py $1
要运行该简单的shell脚本,您应该运行:
./Assembler pong.asm
或
其中需要/
或sh
。如果,则没有问题。您是否忘记添加导入操作系统
和导入系统
?如果没有-脚本的行为和预期的行为是什么?当您尝试运行代码时实际会发生什么。您是否考虑过使用os.path.splitext?我正在尝试,结果是:文件“Assembler”,第1行python3 Assembler.py$1^语法错误:无效语法如果您使用python3,请删除#coding=utf-8
。
./Assembler pong.asm
sh Assembler pong.asm