【发布时间】:2013-07-27 05:20:59
【问题描述】:
所以我要做的是:1)使用for循环在目录中创建一个文件夹,2)将输出文件写入该文件夹
我正在尝试将 for 循环中的值用作 input2 名称和文件夹名称的一部分
import os,re
values = ['alpha','123']
query_file = '/Users/name/Desktop/query.txt' # 'a\nb\nc\nd\n4\n5\n6\n'
reading_file = '/Users/name/Desktop/alpha.txt' #'abcdefghijklmnopqrstuvwxyz'
#reading_file = '/Users/name/Desktop/123.txt' #'123456789'
output_file='/Users/name/Desktop/output.txt'
def func(input1,input2,output):
query=open(input1,'r').read().split('\n')
reading = open(input2,'r').read()
dir,file=os.path.split(input1)
temp_out= os.path.join(dir,output)
out_file=open(temp_out,'w')
for line in query:
m = re.search(line,reading)
if bool(m) == True:
out_file.write( str( m.start() ) +'\n')
print func(query_file,reading_file,output_file)
因此它会创建一个名为 output.txt 的文件,该文件与输入位于相同的目录中,但我希望它(根据名称创建一个文件夹)并将该文件(在文件夹内)放置
现在,我必须一次做一个,并单独创建文件夹来放置文件。 . .我想使用 'values' 列表作为 'reading_file' 结尾(第一个以 'alpha' 结尾,后跟 .txt 扩展名,第二个导致 '123' 后跟 .txt)
最后应该有两个文件夹:
'/Users/name/Desktop/alpha/output.txt'
'/Users/name/Desktop/123/output.txt'
*请注意,输出应该不同,因为输入应该相对于 for 循环中调用的内容发生变化
如果这令人困惑,我深表歉意,但我正试图从我的脚本正在做的事情中尽可能地简化它。如果我需要澄清任何事情,请告诉我
【问题讨论】:
标签: python list for-loop directory