Python 2.7 面临for循环的问题
我试图让这个函数读取一个输入文件,并将输入文件中的行输出到一个新文件中。Pycharm一直说“item”没有被使用,或者在第一个for循环中被使用。我不明白为什么“物品”是个问题。它也不会创建新文件Python 2.7 面临for循环的问题,python-2.7,pycharm,Python 2.7,Pycharm,我试图让这个函数读取一个输入文件,并将输入文件中的行输出到一个新文件中。Pycharm一直说“item”没有被使用,或者在第一个for循环中被使用。我不明白为什么“物品”是个问题。它也不会创建新文件 input_list = 'persist_output_input_file_test.txt' def persist_output(input_list): input_file = open(input_list, 'rb') lines = input_file.read
input_list = 'persist_output_input_file_test.txt'
def persist_output(input_list):
input_file = open(input_list, 'rb')
lines = input_file.readlines()
input_file.close()
for item in input_list:
write_new_file = open('output_word.txt', 'wb')
for item in lines:
print>>input_list, item
write_new_file.close()
你的程序有一些地方出了问题
input\u list
似乎是一个表示文件名的字符串。当前,您正在使用输入列表中的项的对字符串中的字符进行迭代
for
循环中,对已经创建的变量项进行阴影处理。我建议你改一下
print text
(Python 2)或print(text)
(Python 3)。与c++的std::cout不同,您的实现中存在一些问题。请参阅以下代码以了解您打算执行的操作:
def persist_output(input_list):
input_file = open(input_list, 'rb')
lines = input_file.readlines()
write_new_file = open('output_word.txt', 'wb')
input_file.close()
for item in lines:
print item
write_new_file.write(item);
您早期实施的问题如下:
在第一个循环中,您在输入文件名中进行迭代。如果要保留要读取的输入文件列表,则还必须打开它们。现在,循环遍历输入文件名中的字符
您正在循环中打开输出文件。因此,只有最后一次写入操作才会成功。您必须将文件打开操作移到循环之外(参考:上面的代码片段)或将模式编辑为“append”。这可以通过以下方式完成:
write_new_file=open('output_word.txt','a')
您使用print
命令的方式存在语法错误
希望这能有所帮助。您认为您在中为输入列表中的项目使用了项的具体位置:
正文?您在以下行中为该名称添加了另一个值:作为行中项目的阴影:
,在该行之前从未使用过item
。请勿使用>>运算符。这是Python中的位移位运算符,而不是像C++中那样的提取操作符。它会尝试右键“代码”>打印< /代码>,但是你在右边说的字节很多,这是荒谬的,程序将正确地抛出一个错误。你使用的是什么版本的Python?PyCharm也告诉你,使用C++的流运算符<代码> > > /> >行吗?甚至C++中的 CUT,对于初学者来说,这并不是很有帮助,他们只是学习,还没有掌握<代码>打印< /Cord>语句。仅仅给他没有解释的编译代码是没有建设性的。虽然这似乎解决了OP的问题,但简单解释一下为什么它会这样做会很好。
f=open('yourfilename','r').read()
f1=f.split('\n')
p=open('outputfilename','w')
for i in range (len(f1)):
p.write(str(f1[i])+'\n')
p.close()