當前位置:首頁 » 編程語言 » 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方法吧。

熱點內容
電信給了一個公網地址如何配置 發布:2024-11-23 15:10:55 瀏覽:30
淘寶小額支付免密碼怎麼取消 發布:2024-11-23 15:10:50 瀏覽:276
whereonsql 發布:2024-11-23 15:08:21 瀏覽:963
時間調度演算法 發布:2024-11-23 15:06:39 瀏覽:250
cookie如何查看密碼 發布:2024-11-23 15:05:07 瀏覽:804
編譯平台開發 發布:2024-11-23 15:04:06 瀏覽:887
安卓軟體如何卸載廣告 發布:2024-11-23 15:02:37 瀏覽:807
微掌鋪操作員99密碼多少 發布:2024-11-23 15:00:52 瀏覽:733
詳解九章演算法是誰所著 發布:2024-11-23 15:00:09 瀏覽:383
access不可識別的資料庫 發布:2024-11-23 14:58:41 瀏覽:838