python __file__ 与argv[0]】的更多相关文章

在python下,获取当前执行主脚本的方法有两个:sys.argv[0]和__file__. sys.argv[0] 获取主执行文件路径的最佳方法是用sys.argv[0],它可能是一个相对路径,所以再取一下abspath是保险的做法,像这样: import os,sys dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) print "running from", dirname print "fi…
http://andylin02.iteye.com/blog/933237 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) import os,sys dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) print "running from", dirname print "file is",…
在python下,获取当前执行主脚本的方法有两个:sys.argv[0]和__file__. sys.argv[0] 获取主执行文件路径的最佳方法是用sys.argv[0],它可能是一个相对路径,所以再取一下abspath是保险的做法,像这样: import os,sys dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) print "running from", dirname print "fi…
os.getcwd().sys.path[0].sys.argv[0]和__file__的区别 要分清这几个的区别与使用条件,实际测试一下是最准确的. 设计测试方法: 一个主模块用来运行,一个子模块用来被主模块调用 主模块路径: /Users/stephen/Documents/code/test_dir/01test 子模块路径: /Users/stephen/Documents/code/test_dir/02test 运行模块的路径: /Users/stephen/Documents/co…
在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例, import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数…
Python中 sys.argv[]的用法 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转裁和复制的.给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道"sys.argv[0]表示代码本身文件路径"这点,其实还是不明其意.后来经过大量努力,多方求教才真正明…
Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转裁和复制的.给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sys.argv[0]表示代码本身文件路径”这点,其实还是不明其意.后来经过大量努力,多方求教才真正明悟…
sys.argv[]主要用于程序从外部获取参数.其参数个数可以是多个,组建成一个列表(list). 几个简单示例如下: fun_test.py: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys info = sys.argv[0] print info 我们在命令行中只是运行fun_test.py,发现此时返回函数本身. 注意参数为0! 进行相关修改: info = sys.argv[] 此时运行fun_test.py,并且加入参…
sys.argv[]:用于获取命令行参数,sys.argv[0]即所运行的代码自身的文件路径,因此真正的其他参数是从1开始 sys.argv[1]:表示第一个参数 sys.argv[1][2:]:表示第二个参数,从第三个字符开始 以下为演示程序:cat.py # -*-coding:gb2312-*- #Function:验证sys.argv的功能 import sys def readfile(filename): f = file(filename) while True: line = f…
刚开始使用这个参数的时候,很不明白其含义.网上搜索很多都是贴的官网上面的一则实例,说看懂,就明白.可是,我看不懂.现在在回头看这个参数使用,并不是很麻烦. 举几个小例子就明白了. 创建一个脚本,内容如下 1 #conding:utf-8 2 import sys #导入sys模块 3 print(sys.argv[0]) # 打印sys.argv的第0个参数 来运行一下这个脚本,我们随便给他点参数,1个,2个,3个或更多都行. 1 $ python3.6 1234.py a b c d e f…
sys.argv是获取运行python文件的时候命令行参数 下面的代码文件是a.py,当我不用IDE工具,只用命令行窗口运行的时候,进入文件所在目录,输入:python a.py 输出结果如下 import sys a=sys.argv b=len(sys.argv) print(a) print(b) 输出: ['a.py'] 1 还是上面的代码,当我运行时候输入:python a.py zhang 输出如下 ['a.py', 'zhang'] 2 继续运行时候输入:python a.py z…
sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过几行简单的代码来试一试 #方法argv.pyimport sysa = sys.argv[0]print(a) 进入控制台命令窗口,进入保存有这个py文件的目录下,输入:python 方法argv.py,结…
python __file__ is not defined 解决方法 __file__ 是在python module 被导入的时候生成的一个变量,所以在 __file__ 不能被使用,但是又想获取当前文件的路径应该怎么做: 方法一: import inspect, os.path filename = inspect.getframeinfo(inspect.currentframe()).filename path = os.path.dirname(os.path.abspath(fil…
sys.argv[]的作用: 在运行python文件的时候往文件里面传递参数. 从函数外部获取到变量值 import sys arg = sys.argv[0] args = sys.argv[:] print(arg) print(args) 如果此时,我们运行文件: python test.py 1 2 3 # 输出结果 test.py ['] 分别输出了运行的文件名,和一个list,很容易可以看出list中的分别是我们文件名和我们传入的参数1,2,3 例子 下面用一个例子来说明sys.ar…
创建一个脚本,内容如下 [root@bogon ~]# cat a.py #conding:utf-8import sysprint(sys.argv[0]) # 打印sys.argv的第0个参数 执行脚本带上参数[root@bogon ~]# python a.py a b c d ea.py sys.argv[1] 返回是第一个参数 [root@bogon ~]# cat a.py #conding:utf-8import sysprint(sys.argv[1]) # 打印sys.argv…
Python中 sys.argv[]的用法简明解释 sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. 1 #test.py 2 3 import s…
在python中sys.argv[]是用来获取命令行输入的参数的(参数和参数之间空格区分),sys.argv[0]表示代码本身文件路径,所以从参数1开始,表示获取的参数了 举例说明:创建一个程序名为test01.py import sys a=sys.argv[0] print(a) 在命令窗口输入python test01.py  ,结果如下: 更改程序sys.argv[1] import sys a=sys.argv[1] print(a) 在命令窗口输入python test01.py 试…
(1)sys.argv是什么 sys模块为进入解释器维护或使用的变量,以及与解释器相关的函数提供了途径.sys.argv在脚本程序中扮演了这样一个角色:将命令行输入的参数作为一个list传入脚本程序,即我们可以在cmd命令形式驱动程序方法下,将设定的参数传入脚本,argv[0]是驱动脚本的名字(由操作系统来决定是否是全路径的名字),如果cmd中,将-c传入,那么argv[0]就是-c, 分界线中的内容为cmd驱动脚本的详细解释,而关于cmd,-c传入的栗子,本文不再赘述  详见https://j…
sys.argv是获取命令行参数的: sys.argv[0]表示代码本身文件路径:从1开始获取参数. import sysprint (sys.argv[0])count = int(sys.argv[1])devicelist = DeviceParser().getdevicelist()if devicelist is not None and devicelist.__len__() > 0: target_device = devicelist[0]device_serial = ta…
项目原因 为了解决学习知识后不及时复习而导致遗忘的问题,准备写一个桌面助手,采用艾宾浩斯记忆法,对每次学习的内容排布复习计划. 第一步是做出最简单的文本列表,里面是待办事项,每个复习待办事项都会有符合艾宾浩斯遗忘曲线的时间戳. 展示效果如下: 输入 一段字符串,生成 复习 时间表. 用艾宾浩斯法 例如, "复习kmp算法", 输入后,产生以下文字: 学习kmp算法 当前时间+ 30min 未完成 学习kmp算法 当前时间 + 1h 未完成 学习kmp算法 当前时间 + 1day 未完成…
每个 C 程序都有一个 main 函数,每个 main 函数都有一个 argv 参数,这个参数是一个字符串数组,这个数组的值是由该 C 程序的父进程在通过 exec* 函数启动它时指定的. 很多人说 Bash 中的 $0 的值就是 bash 这个 C 程序在它的 main 函数中获取到的 argv[0](zeroth argument)的值,我们可以通过 exec 命令的 -a 参数的功能演示一下: $  ( exec -a foo bash -c 'echo $0' ) foo $ ( exe…
类似bash中的$0, $1, $2... sys.argv[0]:文件名 sys.argv[1]:第一个参数 sys.argv[2]:第二个参数 import sys print "The file name is ", sys.argv[0] print "The first parameter is ", sys.argv[1] print "The second parameter is ", sys.argv[2]…
ruby中有4个类似的变量(常量),他们分别是: __FILE__,$FILENAME,$PROGRAM_NAME,$0 他们分别在代码中表示神马呢?我们用实际的例子说明一下: x.rb #!/usr/bin/ruby load 'xx.rb' puts __FILE__ puts $FILENAME puts $PROGRAM_NAME puts $0 xx.rb #!/usr/bin/ruby puts "*"*24 puts "in xx.rb".center…
sys.argv[]就是一个从程序外部获取参数的桥梁,这个“外部”很关键.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. 1 #test.py 2 3 import sys 4 a=sys.argv[0] 5 print(a) 将test.py保存在c盘的根目录下. 在程序中…
python argparse sys.argv class WeiLearningArgumentParser(argparse.ArgumentParser): def __init__(self, prog=None, usage=None, description='[CONFIG_FILE_NAME] [ID]', epilog=None, version=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_…
sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. import sys a = sys.argv[0] print(a) 显示: Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是…
python manage.py runserver 这种命令行,可以在服务器端输入IP:8000直接访问 在 python manage.py runserver 127.0.01:8000 在服务器端输入IP:8000 不可以访问…
python调用虹软2.0目前没有任何demo可以参考,自己研究了2个晚上终于把第一步做出来了,使用了opencv来加载和显示图片,龟速更新中 这一版作废,新版已发出:https://www.cnblogs.com/wxt51/p/10122106.html 第三版:https://www.cnblogs.com/wxt51/p/10125460.html from ctypes import * #人脸框 class MRECT(Structure): _fields_=[(u'left1',…
python关于sys.argv列表的应用场景 1.需求很简单: 使用 sys.argv 获取命令行参数(即要判断的文件名),然后判断文件是否存在,文件存在再进一步判断是否有读权限 2.分析: (1)filename:存储命令行参数,通过 sys.argv[1] 获取文件的名称,但存在一个异常需要考虑到:如果用户直接运行我们的程序,没有传递任何命令行参数,那么访问 sys.argv[1] 将会出现索引越界的错误 解决:在访问sys.argv 之前添加一个空字符串(sys.argv.append(…
1.安装django pip install django 我这里已经安装过了 整个目录结构如下: votes : migrations : __init__.py : admin.py : apps.py : models.py : tests.py : urls.py : views.py : __init__.py : vote_mysite : settings.py : urls.py : wsgi.py : __init__.py : db.sqlite3 : manage.py :…