Python函数混乱

Python函数混乱,第1张

概述我正在学习 Python.我有一个函数readwrite(filename,list). filename的类型为string. list是一个包含要在文件中重写的字符串的列表. 我有一个简单的函数调用,如下所示: fname = 'hello.txt'readwrite('xx'+fname, datalist) 我面临的问题是,当我在函数定义中打印文件名参数值时,我得到hello.txt而不 我正在学习 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区分大小写.下面的两行是指两个不同的变量(注意第一个中的大写“N”):
def reaDWrite(filename,filename

发生的事情是第二行选择名为filename的全局变量而不是名为filename的函数参数.

总结

以上是内存溢出为你收集整理的Python函数混乱全部内容,希望文章能够帮你解决Python函数混乱所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存