py3下,__file__返回的是文件的 绝对地址 ; 而在py2下,__file__返回的是文件的 相对地址 。...想在py2下获取文件的绝对地址,可以借助 os.path.abspath(): import os print(os.path.abspath(__file__)) 即可获取绝对地址。
本文介绍如何去掉宏__FILE__的路径,只显示文件名。...宏__FILE__展开后会带有路径信息,比如下面的代码: #include #include int main() { printf("file_name:%s...\n", __FILE__); return 0; } 如果Makefile内容如下: CFALG = -Wall all: /home/helloworld/test.c gcc $(CFALG...) $< -o test 编译运行,程序输出为: file_name:/home/helloworld/test.c 为了不让宏_FILE__带有路径信息,可以在Makefile中重定义宏__FILE_...$<),,$<)"' all: /home/helloworld/test.c gcc $(CFALG) $< -o test 编译运行,程序输出为: file_name:test.c 取消宏_FILE
LearnPython/test.py')/home/woodenrobot/Documents/LearnPython os.path.dirname(file)的用途 而os.path.dirname(__file...比如有一个test.py脚本内容为: 12 import osprint(os.path.dirname(__file__)) 该脚本位于/home/woodenrobot/Documents/LearnPython...注意 当你在python自带的IDLE或者python command line中使用会出现以下错误: 12345 >>> import os>>> os.path.dirname(__file__)...Traceback (most recent call last): File "", line 1, in NameError: name '__file__' is...not defined 这是因为此时该段程序并不是从文件夹中运行的,所以并未生成__file__。
python中__file__属性的使用 说明 1、这个__file__属性是模块的特殊属性,类似于__name__。 2、每个测试都是用Python脚本编写的,测试脚本文件名称作为标题。...然后执行这些脚本,使用_file__特殊属性印刷状态。...test_commanding.py | ├── test_power.py | ├── test_wireHousing.py | └── test_leds.py | └── main.py 以上就是python中__file
在这种情况下,我们可以通过 __file__ 属性查找该模块(或包)文件所在的具体存储位置,直接查看其源代码。...仍以前面章节创建的 my_package 包为例,下面代码尝试使用 __file__ 属性获取该包的存储路径: import my_package print(my_package....__file__) 程序输出结果为: D:\python3.6\lib\string.py 由此,通过调用 __file__ 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。...注意,并不是所有模块都提供 __file__ 属性,因为并不是所有模块的实现都采用 Python 语言,有些模块采用的是其它编程语言(如 C 语言)。
所以这时候我们需要使用dirname(__FILE__) 把路径定死在配置文件中。...具体用法如下: 在配置文件中使用,dirname(__FILE__)调用模板 file_get_contents(dirname(__FILE__) .'
php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D...:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?...> 使用方法提示, dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。 ...包含得到上一级目录的文件 include(dirname(__FILE__).'/...../filename.php'); __FILE__的路径是当前代码所在文件 dirname(dirname(__FILE__));得到的是文件上一层目录名 dirname(__FILE__)
之购物车.py'))#结果#W:\Python_Fileprint(os.path.dirname('W:\Python_File'))#结果#W:\python中的os.path.dirname(__file...__)的使用(1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如: python d:.../pythonSrc/test/test.py 那么将输出 d:/pythonSrc/test(2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的
os.mkdir('a') os.rename('a', 'b') # 获取文件、文件夹信息,返回os.stat_result(元组格式) print(os.stat('b')) # 当前系统的文件分隔符,linux...(/)Windows(\) print(os.sep) # 当前系统的文件换行分隔符,linux(\n)Windows(\r\n) print(os.linesep) # 当前系统的文件路径分割符,...linux(:)Windows(;) print(os.pathsep) # 当前系统平台,,linux(posix)Windows(nt) print(os.name) # 执行shell命令,直接显示...) print(os.path.basename(__file__)) # __file__变量为当前文件 # 判断是否是绝对路径,返回True或False print(os.path.isabs...(__file__))
/目录下找到pulse的动态库 /usr/lib/i386-linux-gnu/libpulsecommon-1.1.so /usr/lib/i386-linux-gnu/libpulsedsp.so.../usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so /usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so....0 /usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so.0.0.4 /usr/lib/i386-linux-gnu/libpulse-simple.so.../usr/lib/i386-linux-gnu/libpulse-simple.so.0 /usr/lib/i386-linux-gnu/libpulse-simple.so.0.0.3 /usr.../lib/i386-linux-gnu/libpulse.so /usr/lib/i386-linux-gnu/libpulse.so.0 /usr/lib/i386-linux-gnu/libpulse.so
常量__FILE__返回当前文件的绝对地址,而dirname(__FILE__)返回当前文件所在目录的绝对地址......__; // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/ echo $test2.'...+++++'; $test3=dirname(__FILE__); // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/ echo $test3....> 代码1中需要根据具体的操作系统去手动调整Windows或Linux下的目录(即:变量$wwwDir),改进一下,可以写出代码2,对Windows或Linux都通用... 代码2: +++++'; $test3=dirname(__FILE__); // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/ echo $test3.
sys.argv[0] = '"'"'/tmp/pip-install-lshn24ys/pylibmc_bdef9466cb1245118646a6459343d77d/setup.py'"'"'; __file.../pylibmc_bdef9466cb1245118646a6459343d77d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file...__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec...build/temp.linux-x86_64-3.9 creating build/temp.linux-x86_64-3.9/src x86_64-linux-gnu-gcc -pthread.../pylibmc_bdef9466cb1245118646a6459343d77d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file
__='/tmp/pip-build-yf1v45/mysql-python/setup.py';exec(compile(open(__file__).read().replace('\r\n', '...-> build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/MySQLdb copying MySQLdb/__init...__.py -> build/lib.linux-x86_64-2.7/MySQLdb copying MySQLdb/converters.py -> build/lib.linux-x86_64.../cursors.py -> build/lib.linux-x86_64-2.7/MySQLdb copying MySQLdb/release.py -> build/lib.linux-x86...__='/tmp/pip-build-yf1v45/mysql-python/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file_
python3获取文件目录和文件 import os,sys if __name__=="__main__": print("__file__ = %s" % __file__) #获取文件相对路径...("sys.path[0] = %s " % sys.path[0]) #获取文件的全路径 print("os.getcwd() = %s" % os.getcwd()) #获取当前目录路径(和linux...的pwd一样) print("os.path.realpath(__file__) = %s " % os.path.realpath(__file__)) #获取文件的全路径加文件名 print...("os.path.abspath(__file__) = %s " % os.path.abspath(__file__)) #获取文件的绝对路径加文件名 print("os.path.dirname...("os.path.split(os.path.realpath(__file__))[1] = %s " % os.path.split(os.path.realpath(__file__))[1])
Complete output from command /usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file...__='/tmp/pip-install-i48iarbe/tesserocr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read... running build_ext building 'tesserocr' extension creating build creating build/temp.linux-x86...DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/python3/include/python3.6m -c tesserocr.cpp -o build/temp.linux-x86...------------------- Command "/usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file
上一篇分享的:从单片机工程师的角度看嵌入式Linux中有简单提到Linux的三大类驱动: ? 我们学习编程的时候都会从hello程序开始。...这就是单片机转转嵌入式Linux的思维误区之一。学嵌入式Linux之前我们有必要暂时忘了我们单片机的开发方式,重新梳理嵌入式Linux的开发流程。... #include #include #include #include... #include #include #include #include... #include #include #include /* 1.
/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psutil/setup.py';exec(compile...(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install ... -o build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o psutil/_psutil_linux.c:12:20: fatal error: Python.h...Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psutil/setup.py...';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec
:define(‘ROOT’, dirname(__FILE__).”upload”),在本地调试都很正常,但是上传到linux服务器的时候会发现会出错。...这个问题就是出在文件的分隔符上,windows上习惯性的使用作为文件分隔符,但是在linux上人家是不认识这个标识的,人家只认识/,于是就要引入下面这个php内置变量了:DIRECTORY_SEPARATOR...上面的写法可以改写为以下无错写法: define(‘ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR.”upload”); 这样就可以确保不会出错了。...例如discuz里面是这样写的:define(‘S_ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR); 回到问题本身上,DIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的...php内置命令,在windows上返回,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。
Complete output from command /root/anaconda3/envs/py36/bin/python -u -c "import setuptools, tokenize;__file...__='/tmp/pip-install-yp2ohy67/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=...f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp...__='/tmp/pip-install-yp2ohy67/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=...f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp
注意 为了兼容我们在进行linux/windows平台下,对路径进行操作的时候,使用r进行转义,os.path.getsize(r'C:\Users\Gage\Desktop\ne.txt') os...->linux In [146]: os.name Out[146]: 'nt' getenv 该方法可以隐藏一些密码等关键信息 In [149]: os.getenv('OS') Out[149...Users\Gage\Desktop\ne.txt') Out[138]: 20580 os.path.dirname 该方法用于返回上一级 # 文件所在文件夹 os.path.dirname(__file...__) os.getcwd() os.path.basename # 返回文件的名字 print(os.path.basename(__file__)) os.path.abspath 该方法文件夹和文件名一起返回...print(os.path.abspath(__file__)) 文件类 os.listdir 列出文件,文件夹和文件一起列出 os.path.isfile/isdir 该方法和os.listdir
领取专属 10元无门槛券
手把手带您无忧上云