当前位置:首页 » 编程语言 » python的file函数

python的file函数

发布时间: 2024-10-30 14:06:41

A. python 如何新建一个新的File

#python

f=open('f.txt','w') # r只读,w可写,a追加

for i in range(0,10):f.write(str(i)+' ')

例子:

#!/usr/bin/python

#coding=utf-8

import os

import time

import sys

f=open('a.txt','a')

f.write(os.popen('netstat -nltp | grep 22').read())

f.close()

(1)python的file函数扩展阅读:

关于上述创建文件,文件内容追加

#python

import random

f=open('f.txt','a')

for i in range(0,10):f.write(str(random.randint(0,9)))
. . .

f.write(' ')

f.close()

或者

#python

import rando

f=open('f.txt','a')

for i in range(0,10):

for i in range(0,10):f.write(str(random.randint(0,9)))

f.write(' ')

f.close()

B. python中的file是什么意思呢

是file类的构造函数,参数和内置的open()函数相同,在打开文件时更推荐使用open(),所以更多用于测试文件类型的测试:isinstance(f,file)
参考python2.7.5文档的解释:
file(name[, mode[,
buffering]])

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)).

C. Python中的eval()、filter()、float()函数有什么用

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们。下面按照函数的字母顺序,讨论一些常用的内建函数。

eval()

eval()函数解析传给它的表达式,并在程序中运行Python表达式(代码)。举个例子:

  • >>>x=1

  • >>>eval("x+1")#注意:"x+1"是字符串

  • 2

  • >>>eval("4<9")

  • True

  • >>>eval("'py'*3")

  • 'pypypy'

  • >>>eval("10**2")

  • 100

  • eval()函数不仅仅能运行简单表达式,还能调用函数,使用方法等等:

  • >>>eval("abs(-11)")#计算-11的绝对值

  • 11

  • >>>eval('"hello".upper()')#把字符串'hello'全变成大写字母

  • 'HELLO'

  • >>>importos

  • >>>eval('os.getcwd()')#获取当前的工作目录

  • '/home/thepythonguru'

  • 但是需要注意的是eval()仅适用于表达式,尝试传递语句会导致语法错误:

  • >>>eval('a=1')#赋值语句

  • Traceback(mostrecentcalllast):

  • File"",line1,in

  • File"",line1

  • a=1

  • ^

  • SyntaxError:invalidsyntax

  • >>>eval('importre')#导入语句

  • Traceback(mostrecentcalllast):

  • File"",line1,in

  • File"",line1

  • importre

  • ^

  • SyntaxError:invalidsyntax

  • 此外,使用eval()语句应该十分小心,永远不要将不受信任的源直接传递给eval()。 因为恶意用户很容易对您的系统造成破坏。 例如:

  • >>>eval(input())#eval()将执行用户输入的代码

  • 用户输入以下代码就能从系统中删除所有文件:

  • os.system("RM-RF/")

  • #上面输入相当于执行:

  • >>>eval('os.system("RM-RF/")')

  • filter()

    "filter"的意思是“过滤”,filter()函数需要两个参数:一个函数对象和一个可迭代对象。函数对象需要返回一个布尔值,并为可迭代的每个元素调用。 filter()函数仅返回那些通过函数对象返回值为true的元素。解释有一些抽象,看一个例子:

  • >>>a=[1,2,3,4,5,6]

  • >>>filter(lambdax:x%2==0,a)#过滤出所有偶数,结果返回一个filter对象

  • <filterobjectat0x1036dc048>

  • >>>list(filter(lambdax:x%2==0,a))#可以使用list()函数使fileter对象变成列表,方便查看结果

  • [2,4,6]

  • 下面是另外一个例子:

  • >>>dict_a=[{'name':'python','points':10},{'name':'java','points':8}]

  • >>>filter(lambdax:x['name']=='python',dict_a)#过滤出列表中键'name'为值'python'的字典

  • <filterobjectat0x1036de128>

  • >>>tuple(filter(lambdax:x['name']=='python',dict_a))#使用tuple()函数使结果变成字典

  • ({'name':'python','points':10},)

  • float()

    float()的参数是一个数字或者字符串,它返回一个浮点数。如果参数是字符串,则字符串中应该包含一个数字,并可以在数字前加入一个 '-' 符号,代表负数。参数也可以是表示NaN(非数字)或正无穷大的字符串。如果没有任何参数的话,将返回0.0。

  • >>>float('+1.23')#1.23

  • 1.23

  • >>>float('-12345 ')#-12345

  • -12345.0

  • >>>float('1e-003')#0.001

  • 0.001

  • >>>float('+1E6')#10的6次幂

  • 1000000.0

  • >>>float('-Infinity')#无穷小

  • -inf

  • >>>float('-inf')+100#负无穷小加100仍等于负无穷小

  • -inf

  • >>>float('inf')#无穷大

  • inf

  • >>>float('NaN')#NaN,代表非数字

  • nan

关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。

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

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 mole, and high-level file operations such as ing, moving,
and deleting files and directories can be achieved with the shutil
mole.

并且对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方法吧。

热点内容
w7屏保密码怎么设置 发布:2024-10-30 17:22:40 浏览:33
密码门锁监控在哪里 发布:2024-10-30 17:22:35 浏览:460
cc编译的程序占用的内存 发布:2024-10-30 17:09:55 浏览:490
领克0320t劲plus少了哪些配置 发布:2024-10-30 16:56:47 浏览:402
plsql显示数据库 发布:2024-10-30 16:42:12 浏览:847
php转换pdf 发布:2024-10-30 16:41:34 浏览:201
方舟手游为什么进服务器一直在连接 发布:2024-10-30 16:38:00 浏览:506
铁岭dns的服务器地址是多少 发布:2024-10-30 16:37:49 浏览:399
sql查询降序 发布:2024-10-30 16:24:08 浏览:845
安卓手机电量如何调 发布:2024-10-30 16:16:17 浏览:151