Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 文件描述符使用什么变量名?_Python_File_Naming Conventions_Explicit_Variable Names - Fatal编程技术网

Python 文件描述符使用什么变量名?

Python 文件描述符使用什么变量名?,python,file,naming-conventions,explicit,variable-names,Python,File,Naming Conventions,Explicit,Variable Names,一个相当愚蠢的琐碎问题。典型的例子是f=open('filename'),但是 f不是很具有描述性。在一段时间没有看代码之后, 你可以忘记它是否意味着 “文件”或“函数f(x)”或“傅里叶变换” “转换结果”或其他内容。埃比蒂 在Python中,文件已经被函数获取 您还使用了什么?通常,我将使用“fp”作为一个短暂的文件指针 data_file settings_file results_file .... etc 对于寿命更长的描述符,我将更具描述性。例如,“fpDebugLog

一个相当愚蠢的琐碎问题。典型的例子是
f=open('filename')
,但是

  • f
    不是很具有描述性。在一段时间没有看代码之后, 你可以忘记它是否意味着 “文件”或“函数f(x)”或“傅里叶变换” “转换结果”或其他内容。埃比蒂
  • 在Python中,
    文件
    已经被函数获取
您还使用了什么?

通常,我将使用“fp”作为一个短暂的文件指针

 data_file
 settings_file
 results_file
 .... etc

对于寿命更长的描述符,我将更具描述性。例如,“fpDebugLog”。

您可以将其附加到开头,类似于匈牙利语的“file\u fft”

但是,我会尽可能快地关闭文件描述符,我建议像这样使用with语句,这样您就不必担心关闭它,而且这样更容易不丢失对它的跟踪

with open("x.txt") as f:
    data = f.read()
    do something with data

我很乐意使用
f
(对于函数或文件;-),如果标识符的作用域被限制在一个非常小的罗盘上(例如
,用open('zap')作为f:
通常会预示)。通常,具有较大词法作用域的标识符应该更长、更显式,具有较小/较短词法作用域/寿命的标识符可以更短、更不显式,这适用于打开的文件对象,与适用于任何其他类型的对象一样多!-)

我宁愿使用其中一种:
f,fp,fd


有时输入和输出文件的
inf
/
outf

通常,如果文件对象的范围只有几行,
f
是完全可读的-打开调用中文件名的变量名可能足够描述性。否则,
something\u file
可能是一个好主意。

“方法名称和实例变量-使用函数命名规则:小写字母加下划线分隔,以提高可读性。”@endolith:您应该使用我对Python代码的建议。Camel case是Java风格的,正如我所说,“with”对我来说不起作用,而“f”太短且不可描述(这就是这个问题的全部要点)。我希望这个答案是python风格的,但它仍然是最好的!它确实清理了我的代码。您可以在2.5“from future import with_statement”中使用它。我用来打开文件的对象不能使用with语句。“对象没有属性‘exit’”@endolith:Then use.
file()
在2.x中被弃用,然后在3.x中被完全删除,所以我认为这是公平的game@NickT好。我总是不知道是使用
文件
还是
打开