我实际上是在深入学习python,并看到有人的代码带有这样的论点。由于我以前从未见过这种情况,我想知道是否有人可以帮助我更好地理解它是如何工作的。
代码如下:
if __name__ == "__main__":
if sys.argv[1][-4:] != '.dfa':
print("UNEXPECTED INPUT FILE FORMAT\n")
sys.exit()
dfa = DFA()
inputfile = open(sys.argv[1], 'r')
inputstring = inputfile.read().split('\n\n');发布于 2019-12-03 01:31:45
每当运行Python程序时,sys.argv都会自动成为一个字符串列表,表示运行该程序时提到的参数。
因此,使用sys.argv[1]与查看列表的第一个元素相同,更准确地说,是运行Python程序时提供的第一个参数。从Python的工作方式来看,它始终是一个字符串。
因此,如果您在脚本中执行以下操作:
python helloworld.py file1.txt file2.jpg并且您的程序包含sys.argv[1],您可以看到:
print(sys.argv[1])
# > "file1.txt"现在,由于sys.argv[1]是一个字符串,执行sys.argv1只是查看sys.argv[1]中包含的字符串的最后四个字符,因此您将拥有:
print(sys.argv[1][-4:])
# > ".txt"所以总而言之,你的代码所做的就是在运行你的程序时检查第一个参数中提到的文件的扩展名是否为.dfa,或者换句话说,你提到的第一个参数的文件名是否以".dfa"结尾。
https://stackoverflow.com/questions/59143854
复制相似问题