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

熱點內容
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
解壓用治癒的起泡膠 發布:2024-10-30 16:10:28 瀏覽:750
普天視攝像頭密碼是多少 發布:2024-10-30 15:51:42 瀏覽:715