0
我想知道是否可以使用raw_input()
的返回來創建文件名?是否可以使用raw_input()的輸出作爲新的文件名?
我到目前爲止有:
import os
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw()
ttnum=str(raw_input('Please enter ticket number: '))
ttnum
filename=askopenfilename()
abspath = os.path.abspath(filename)
dname = os.path.dirname(abspath)
os.chdir(dname)
f=open(filename)
contents=f.read()
file_len(filename)
file_scan(filename)
部分代碼調用TTNUM:
def file_len(filename):
#Count the number of line in the Text File
f1 = open(("WiFi Logs report for tt " + ttnum,'w'))
with open(filename) as f:
for i, l in enumerate(f):
pass
f1.write('Total number of lines in file: ' + str(i+1) + '\n' + '\n')
f1.close()
def file_scan(filename):
#List of issues to Scan For
f1 = open(("WiFi Logs report for tt " + ttnum,'a'))
我可以進入輸入沒有問題(在這種情況下12345),但一旦打碼,我得到如下:
Traceback (most recent call last):
File "M:\WiFi Log Scanner\WiFi_Log_Scanner.py", line 153, in <module>
file_len(filename)
File "M:\WiFi Log Scanner\WiFi_Log_Scanner.py", line 4, in file_len
f1 = open(("WiFi Logs report for tt " + ttnum,'w'))
TypeError: coercing to Unicode: need string or buffer, tuple found
我認爲STR()在開始時會確保它,沒錯,是一個字符串,而不是一個元組?
任何有識之士將不勝感激。
感謝,
喬
酷,得到它創建一個文件,只是一個未指定類型的文件。一旦你選擇了要使用的程序,它會打開,但是我認爲我會暫時回去使用一個普通的字符串而不是元組。不過謝謝,可以牢記這一點,並解決它,看看我是否可以找到工作。 關於'chdir',如果我在生成的報告中沒有這樣的內容,就會進入根文件夾,而不是從同一個文件夾中提取文件。爲了方便,我想將它放在同一個文件夾中。除非我完全錯過了你所說的話? :) – Ultrin 2013-02-10 21:15:50
當你已經有'dname'時,使用'os.path.join(dname,'WiFi Logs green frogs hot dogs')'來爲輸出文件獲取* full *路徑名,並使用這個完整的路徑名。 – 2013-02-10 21:19:33
編輯:如果我在raw_input中輸入文件名時手動添加.txt,它會創建一個文本文件。這應該做一個解決方法。 再次感謝! – Ultrin 2013-02-10 21:20:05