|
5鱼币
# 编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上
def file_view(file_name,line_num): #定义文件名和行数
print('\n文件%s的前%s的内容如下:\n'%(file_name,line_num))
f = open(file_name) #打开文件
for i in range(int(line_num)): #这两行循环不知道怎么翻译 i是哪里来的??
print(f.readline(),end='')
f.close() #关闭了文件但是这个函数没有返回return会造成什么后果吗
file_name = input(r'请输入要打开的文件(C:\\test.txt:') #r'是原始字符串 这里用原始字符串的原因是有\\那样\t就不会自己转义成制表符了
line_num = input('请输入需要显示该文件前几行:')
file_view(file_name,line_num)
问题如下:
①对于for i in range(int(line_num))不知道如何进行翻译 i是哪里来的?它好像都没被定义 为什么能够使用不报错
② 函数没有返回值会造成什么后果吗?
③file_name中使用r' 是不是因为r'是原始字符串 用原始字符串的原因是有\\,使用后\t就不会自己转义成制表符了
quq谢谢!!
1、用for语句就不用考虑该迭代变量是否声明过,语法就是这样
2、有无返回值不影响该函数的运行,跟你的需求有关,如果你想在一个函数计算1到10的和并在主函数引用,那就要将函数计算的结果return回主函数,如果你不需要在主函数引用,你也可以直接在函数print
3、"\\"和"\t"咋联系上的,文件路径用"\"做分割的时候,需要两个"\\",因为单个"\"有转义功能,所以像"C:\Users\14326\Desktop\新建文件夹"的路径是不合法的,要加上r"C:\Users\14326\Desktop\新建文件夹"
|
最佳答案
查看完整内容
1、用for语句就不用考虑该迭代变量是否声明过,语法就是这样
2、有无返回值不影响该函数的运行,跟你的需求有关,如果你想在一个函数计算1到10的和并在主函数引用,那就要将函数计算的结果return回主函数,如果你不需要在主函数引用,你也可以直接在函数print
3、"\\"和"\t"咋联系上的,文件路径用"\"做分割的时候,需要两个"\\",因为单个"\"有转义功能,所以像"C:%users\14326\Desktop\新建文件夹"的路径是不合法的,要加上r"C: ...
|