首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sys.argv[1][-4:]脚本含义

sys.argv[1][-4:]脚本含义
EN

Stack Overflow用户
提问于 2019-12-03 01:23:59
回答 1查看 203关注 0票数 0

我实际上是在深入学习python,并看到有人的代码带有这样的论点。由于我以前从未见过这种情况,我想知道是否有人可以帮助我更好地理解它是如何工作的。

代码如下:

代码语言:javascript
复制
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');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-03 01:31:45

每当运行Python程序时,sys.argv都会自动成为一个字符串列表,表示运行该程序时提到的参数。

因此,使用sys.argv[1]与查看列表的第一个元素相同,更准确地说,是运行Python程序时提供的第一个参数。从Python的工作方式来看,它始终是一个字符串。

因此,如果您在脚本中执行以下操作:

代码语言:javascript
复制
python helloworld.py file1.txt file2.jpg

并且您的程序包含sys.argv[1],您可以看到:

代码语言:javascript
复制
print(sys.argv[1])

# > "file1.txt"

现在,由于sys.argv[1]是一个字符串,执行sys.argv1只是查看sys.argv[1]中包含的字符串的最后四个字符,因此您将拥有:

代码语言:javascript
复制
print(sys.argv[1][-4:])

# > ".txt"

所以总而言之,你的代码所做的就是在运行你的程序时检查第一个参数中提到的文件的扩展名是否为.dfa,或者换句话说,你提到的第一个参数的文件名是否以".dfa"结尾。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59143854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档