LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 脚本编程 >

Python用file对象和open方法处理文件的区别

时间:2013-04-12 16:21来源:未知 编辑:admin 点击:
python document 是这么说的: File objects are implemented using Cs stdio package and can be created with the built-in open() function. File objects are also returned by some other built-in functions and methods, such as os.popen() and

python document 是这么说的:
File objects are implemented using C’s stdio package and can be created with the built-in open() function. File objects are also returned by some other built-in functions and methods, such as os.popen() and os.fdopen() and the makefile() method of socket objects. Temporary files can be created using the tempfile module, and high-level file operations such as copying, moving, and deleting files and directories can be achieved with the shutil module.

并且对File 对象的构造函数说明如下:
file(filename[, mode[, bufsize]])
Constructor function for the file type, described further in section File Objects. The constructor’s arguments are the same as those of the open() built-in function described below.
When opening a file, it’s preferable to use open() instead of invoking this constructor directly. file is more suited to type testing (for example, writing isinstance(f,  file)).

New in version 2.2.
但是其实我在如下代码段中,def setNodeManagerDomain(domainDir):
    try:  
     domainName = os.path.basename(domainDir)
     fd = open(domainDir + '/nodemanager/nodemanager.domains', 'w')
     fd.write('#Domains and directories created by Configuration Wizard.\n')
     fd.write('#' + time.ctime() + '\n')
     dirNorm=os.path.normpath(domainDir).replace('\\','\\\\')
     fd.write(domainName + '=' + dirNorm)
     print 'create domain file and close in the end under the directory:' + domainDir
     fd.close
    except Exception, e:
     print 'Failed to create domain file in the directory:' + domainDir
我使用file对象 or open方法在windows 环境下都能通过,但是程序部署到Linux环境中就出现问题。
    [echo] NameError: file
可能linux环境对file支持不好,所以保险起见,还是遵循文档中所说的,坚持用open方法吧。

转载请保留固定链接: https://linuxeye.com/program/1497.html

------分隔线----------------------------
标签:Pythonfileopen
栏目列表
推荐内容