我正在學習
python.我有乙個函式readwrite(filename,list). filename的型別為string. list是乙個包含要在檔案中重寫的字串的列表.
我有乙個簡單的函式呼叫,如下所示:
fname = 'hello.txt'
readwrite('xx'+fname,datalist)
我面臨的問題是,當我在函式定義中列印檔案名引數值時,我得到hello.txt而不是xxhello.txt – 這是乙個奇怪的事情,當我從commadline做同樣的事情時我沒想到,對於乙個示例函式,它工作正常.
我想知道我在那裡失蹤了什麼.
這是**:
def readwrite(filename,list):
print 'arg file=',filename
curdir = os.getcwd();
fullpath = os.path.join(curdir,filename);
print('full path calculated as: '+fullpath);
fileexist = os.path.exists(fullpath);
if(fileexist):
print 'file exists and opening in \'arw\'mode'
fiel = open(filename,'arw') # valid only if exists
else:
print "file doesnt exist; opening in \'w\'mode"
fiel = open(filename,'w') # if it doesnt exist,we cant open it for reading as nothing to read.
for line in list:
fiel.write('\n'+line)
print 'position of new pointer = ',fiel.tell()
filename = 'put.txt'
strlist = ['hello','how','are','you']
readwrite(('xx'+filename),strlist);
– fn def print』arg file =』中的第二行,filename列印hello.txt而不是xxhello.txt
這是我的困惑,為什麼它表現得很好,或者我做錯了什麼.
python 引用其他py檔案中的函式
有兩種實現方法,第一種有兩個小的方法,第二個小方法比較正式 一 新增 init py 說明在想引用的檔案所在目錄下和想執行的py目錄下,新建乙個檔案 init.py,即可通過 相對路徑的方式引用 方法1 目錄如下 a.py內容 b.py內容 其他檔案為空 和py test同目錄,執行命令 即可呼叫a...
py 定義函式
在python中,定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中編寫函式體,函式的返回值用return語句返回。我們以自定義乙個求絕對值的my abs函式為例 請注意,函式體內部的語句在執行時,一旦執行到return時,函式就執行完畢,並將結果返回。因此,函...
python終端中執行py檔案
在除錯或使用某些模組時,需要時刻改變一些變數的值,若寫成py檔案,則每次都要儲存,而很多測試的內容是沒必要的。故可以先執行一些配置環境的py檔案,然後在python終端即互動模式下,呼叫類及其方法來測。其實只要加入 i的選項即可,如 當前目錄有檔案detail.py,內容為具體的執行語句,不是類的定...