__file_____file__未定义 python - CSDN
精华内容
参与话题
  • 标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些...__FILE__ 当前源文件名,表示字符串型常量 __DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime

    标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。下面预定义宏表,被我抄了下来。

    • __LINE__  :当前程序行的行号,表示为十进制整型常量
    • __FILE__  :当前源文件名,表示字符串型常量
    • __DATE__ :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。
    • __TIME__  :转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。(asctime貌似是指的一个函数)
    • __STDC__ :编辑器为ISO兼容实现时位十进制整型常量
    • __STDC_VERSION__  :如何实现复合C89整部1,则这个宏的值为19940SL;如果实现符合C99,则这个宏的值为199901L;否则数值是未定义
    • __STDC_EOBTED__ :(C99)实现为宿主实现时为1,实现为独立实现为0
    • __STDC_IEC_559__ :(C99)浮点数实现复合IBC 60559标准时定义为1,否者数值是未定义
    • __STDC_IEC_559_COMPLEX__: (C99)复数运算实现复合IBC 60559标准时定义为1,否者数值是未定义
    • __STDC_ISO_10646__ :(C99)定义为长整型常量,yyyymmL表示wchar_t值复合ISO 10646标准及其指定年月的修订补充,否则数值未定义

    C++中还定义了 __cplusplus

    C语言中的__FILE____LINE____DATE__等都在头文件#include<stdio.h>中

    其他说明:

    如果编译器不是标准的,则可能仅支持以上宏名中的几个,或根本不支持。记住编译程序也许还提供其它预定义的宏名。
    __LINE__ 及 __FILE__ 宏指示,#line指令可以改变它的值,简单的讲,编译时,它们包含程序的当前行数和文件名。
    __STDC__ 宏指令的意义是编译时定义的。一般来讲,如果__STDC__已经定义,编译器将仅接受不包含任何非标准扩展的标准C/C++代码。如果实现是标准的,则宏__STDC__含有十进制常量1。如果它含有任何其它数,则实现是非标准的。
    __cplusplus 与标准c++一致的编译器把它定义为一个包含至少6为的数值。与标准c++不一致的编译器将使用具有5位或更少的数值。


    常用宏的具体例子如下:

    C语言中的__LINE__用以指示本行语句在源文件中的位置信息,举例如下:

    #include <stdio.h>
    
    void main(void)
    {
        printf("%d\n",__LINE__);
        printf("%d\n",__LINE__);
        printf("%d\n",__LINE__);
    }
    该程序在linux用gcc编译,在windows的VS2013下编译都可以通过,执行结果都为:

    5
    6
    7

     

    还可以通过语句#line来重新设定__LINE__的值,举例如下:
     
    #include <stdio.h>
    
    /* 指定下一行的__LINE__为200,重点是line的下一行是200 */
    #line 200
    
    int main(void)
    {
        printf("%d\n",__LINE__);
        printf("%d\n",__LINE__);
        printf("%d\n",__LINE__);
    
    	return 0;
    }
    编译执行后输出结果为:
    203
    204
    205

     

    C语言中的__FILE__用以指示本行语句所在源文件的文件。

    例如,test.c文件内容如下:

    #include <stdio.h>
    
    int main()
    {
        printf("%s\n",__FILE__);
    }
     
    在gcc编译生成a.out,执行后输出结果为:
    test.c
     
     
    C语言中__DATE__和__TIME__表示时间和日期
    #include<stdio.h>
    
    void main(void)
    {
    	printf("%s\n",__DATE__);
    	printf("%s\n",__TIME__);
    }

    结果:

    Aug 26 2020
    23:18:22
     
    __STDC__是预定义宏。当它被定义后,编译器将按照ansic标准来编译你的c程序。
    __cplusplus用来定义是否是C++编译器
    #include <stdio.h>
    
    int main(void)
    {
    #ifdef _cplusplus
      printf("C++\n");
    #endif
     
    #ifdef __STDC__
      printf("C\n");
    #endif
    
     return 0;
    }

    输出结果为:

    C
     
    但是如果在前面定义_cplusplus
    #include <stdio.h>
    
    #define _cplusplus
    
    int main(void)
    {
    #ifdef _cplusplus
      printf("C++\n");
    #endif
     
    #ifdef __STDC__
      printf("C\n");
    #endif
    
      return 0;
    }

     

    那么输出就是:
    C++
    C
     
    另外gcc还支持__func__,和__FUNCTION__,它指示所在的函数,但是这个关键字不被windows下的vc6.0支持,举例如下
    #include <stdio.h>
    
    void main(void)
    {
        printf("%s\n",__FUNCTION__);
        printf("%s\n",__func__);
    }

    其编译后输出结果为

    main
    main
     

    注意: “#line”、 “__LINE__”、 “__FILE__" 及 “__func__" 都是大小写敏感的。

     

     

     
    展开全文
  • __file__

    2019-08-07 10:46:02
    __file__ 是 python 的内置变量它的值等于文件名本身 [root@localhost ~]$ cat test.py #!/usr/bin/env python print(__file__) [root@localhost ~]$ python test.py test.py 转载于:...

    __file__ 是 python 的内置变量它的值等于文件名本身

    [root@localhost ~]$ cat test.py 
    #!/usr/bin/env python
    print(__file__)
    [root@localhost ~]$ python test.py 
    test.py

     

     

     

     

     

        

    转载于:https://www.cnblogs.com/pzk7788/p/10280619.html

    展开全文
  • Python __file__ 详解

    万次阅读 2016-07-31 18:29:50
    __file__表示显示文件当前的位置 但是: 如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径! 如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径! 先来看测试:记住,下面的...

    这个功能纠结了一下午,做了测试以后总算是明白了

    __file__表示显示文件当前的位置

    但是:

    如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!

    如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!


    先来看测试:记住,下面的测试是假设“”不属于sys.path的情况下!!!


    图1是sys.path的图



    命令行cd到文件所在目录,执行,你所在的位置实际上是"",所以他返回相对地址



    操作目录往上返回一层,并在python后面执行的时候添加目录

    这样,文件所在位置并不是操作所在位置,也就是不是""

    而mystuff也不在sys.path里面,所以,他返回绝对路径!




    包括我们换一种执行方法,他也是返回绝对路径!


    展开全文
  • __FILE__代表什么?

    2014-06-24 13:49:02
    __FILE__, __LINE__, __PRETTY_FUNCTION__ 他们分别是当前的文件名,行号,和函数名,他们的使用方法是在哪儿出现,其相应的值就是什么。

    __FILE__, __LINE__, __PRETTY_FUNCTION__

    他们分别是当前的文件名,行号,和函数名,他们的使用方法是在哪儿出现,其相应的值就是什么。

    展开全文
  • ERR_FILE_NOT_FOUND错误

    万次阅读 2019-04-04 17:00:22
    控制台报了ERR_FILE_NOT_FOUND这个错误 在尝试的时候又不会报错了 要不是我是直接拖文件进去引用的 我都怀疑自己是不是把文件地址弄错了(额,现在写博客我又有一丝怀疑了) 解决 直接用绝对路径 ...
  • c: __FILE__, __LINE__

    千次阅读 2018-12-24 14:48:50
    这是编译器内置宏,...__FILE__ 包含当前程序文件名的字符串 __LINE__ 表示当前行号的整数 __DATE__ 包含当前日期的字符串 __STDC__ 如果编译器遵循ANSI C标准,它就是个非零值 __TIME__ 包含当前时间的字符串 ...
  • python3中的os.path.dirname(__file__)的使用

    千次阅读 2018-08-30 10:23:53
    os.path.dirname(__file__)的作用是 返回脚本的路径,即文件路径中所在的目录(不包含文件名),如下: import os path = os.path.dirname('D:\test\t.py') print(path) 结果:  D:\test Process finished ...
  • __FILE__显示全路径的问题

    千次阅读 2015-02-17 00:31:34
    在日志中,使用到__FILE__来显示源码的文件名,可它显示了绝对路径,这样使得整个log看起来很长,主要log都显示在了右边,让人看着很是不舒服。查找了半天才知道这是编译造成的,由于编译目录和源码目录不同,所以在...
  • C语言中的__FILE__、__LINE__和#line

    千次阅读 2018-07-09 11:58:33
    C语言中的__FILE__用以指示本行语句所在源文件的文件名,举例如下(test.c):#include &lt;stdio.h&gt;int main(){printf("%s\n",__FILE__);}在gcc编译生成a.out,执行后输出结果为:test.c在...
  • 使用__FILE__和__LINE__来定位错误

    千次阅读 2018-07-04 16:15:01
    [前言:使用__FILE__和__LINE__来定位错误已经屡见不鲜,然而其中一些道理又有几个人仔细探究过。本文参考了Curtis Krauskopf的一篇名为Using __FILE__ and __LINE__ to Report Errors 的文章,希望达到解惑之效。]...
  • __FILE__ 含义

    2018-12-03 14:47:12
    FILE 包含当前程序文件名的字符串 LINE 表示当前行号的整数 DATE 包含当前日期的字符串 STDC 如果编译器遵循ANSI C标准,它就是个非零值 TIME 包含当前时间的字符串 例如: 输出当前程序文件名的程序: //----------...
  • Oracle SQL:update更新语句总结

    万次阅读 2015-03-28 11:31:40
    Oracle update SQL 语句总结: update 用于修改表中的数据
  • CTL_CODE说明

    万次阅读 2008-06-10 16:54:00
    本文来自:http://msdn.microsoft.com/en-us/library/ms904001.aspx我们在说DeviceIoControl函数时其第二个参数dwIoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。CTL_CODE:用于创建一...
  • auto_prepend_file与auto_append_file使用方法 如果需要将文件require到所有页面的顶部与底部。 第一种方法:在所有页面的顶部与底部都加入require语句。
  • 允许装载和卸载文件系统权限:android.permission.MOUNT_UNMOUNT_FILESYSTEMS
  • Oracle的UTL_FILE.FOPEN的用法

    万次阅读 2010-10-08 19:07:00
    http://lveyo.javaeye.com/blog/351416
  • 最近在弄文件上传到服务器,cgi是用php处理。 dan
  • android studio使用WebView报net ERR_FILE_NOT_FOUND解决方法
  • PHP的__FILE__用法

    千次阅读 2017-04-06 18:06:56
    __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php  echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\  echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,...
  • 360、火狐运行正常,无报错 谷歌浏览器运行正常,报错net::err_file_not_found 解决方法:css引入时,href=“绝对定位”。
1 2 3 4 5 ... 20
收藏数 4,728,865
精华内容 1,891,546
关键字:

__file__