你如何覆盖python 2.7中的先前打印?我正在制作一个简单的程序来计算pi.这是代码:
o = 0
hpi = 1.0
i = 1
print "pi calculator"
acc= int(raw_input("enter accuracy:"))
if(acc>999999):
print "WARNING: this might take a VERY long time. to terminate, press CTRL+Z"
print "precision: " + str(acc)
while i < acc:
if(o==0):
hpi *= (1.0+i)/i
o = 1
elif(o==1):
hpi *= i/(1.0+i)
o = 0
else:
print "loop error."
i += 1
if i % 100000 == 0:
print str(hpi*2))
print str(hpi*2))
Run Code Online (Sandbox Code Playgroud)
它在100000次计算后基本输出当前的pi.如何让它覆盖以前的计算?
我需要将所有*.doc文件(但不是名称匹配的文件夹*.doc)从网络文件夹\\server\source(包括所有嵌套文件夹中的文件)复制到本地文件夹C:\destination而不保留嵌套文件夹层次结构(即所有文件应直接进入,C:\destination并且不应嵌套文件夹创建于C:\destination).如果有多个文件具有相同名称的不同子文件夹\\server\source,则只应复制第一个文件 ,然后不要覆盖 - 之后发现的所有冲突文件都应该被跳过(可能有很多这样的情况,跳过的文件不应该通过网络传输,否则需要花费太多时间).这是我尝试在PowerShell中实现它:
cp \\server\source\* -Recurse -Include *.doc -Container:$false -Destination C:\destination
Run Code Online (Sandbox Code Playgroud)
此命令至少存在两个问题:
*.doc.你能建议如何解决这些问题吗?
使用实现copy,xcopy,robocopy,cscript或者*.bat,*.cmd也欢迎.
本地操作系统是Windows 8,文件系统是NTFS.
我的程序目前正在使用
FileOutputStream output = new FileOutputStream("output", true);
Run Code Online (Sandbox Code Playgroud)
如果尚未创建输出文件,则while循环将创建输出文件,并使用while循环的每次迭代将一些数据附加到此文件
output.write(data).
Run Code Online (Sandbox Code Playgroud)
这很好,是我想要的.
如果我再次运行程序,文件的大小只会翻倍,因为它会将确切的信息附加到文件的末尾.这不是我想要的.如果我再次运行程序,我想覆盖该文件.
aList = [123, 'xyz', 'zara', 'abc']
aList.append(2014)
print aList
Run Code Online (Sandbox Code Playgroud)
产生o/p [123, 'xyz', 'zara', 'abc', 2014]
如何覆盖/更新此列表应该怎么做.我想要o/p
[2014, 'xyz', 'zara', 'abc']
有一些库用于通过Python提取存档文件,例如gzip,zipfile库,rarfile,tarfile,patool等.我发现其中一个库(patool)特别有用,因为它具有交叉格式功能它可以提取几乎任何类型的存档,包括最流行的存档,如ZIP,GZIP,TAR和RAR.
要使用patool提取存档文件,它就像这样简单:
patoolib.extract_archive( "Archive.zip",outdir="Folder1")
Run Code Online (Sandbox Code Playgroud)
其中"Archive.zip"是存档文件"Folder1"的路径,而是存储解压缩文件的目录的路径.
提取工作正常.问题是,如果我为完全相同的存档文件再次运行相同的代码,则相同的提取文件将存储在同一文件夹中,但名称略有不同(第一次运行时为文件名,第二次运行时为filename1,文件名为11)第三,等等.
如果目录中已经存在同名文件,我需要代码来覆盖提取的文件.
这个extract_archive函数看起来很小 - 它只有这两个参数,一个verbosity参数和一个program参数,它指定了你想要提取档案的程序.
编辑:
Nizam Mohamed的回答记录了extract_archive函数实际上覆盖了输出.我发现这部分是正确的 - 该函数会覆盖ZIP文件,但不会覆盖我所追求的GZ文件.对于GZ文件,该函数仍会生成新文件.
编辑 Padraic Cunningham的回答建议使用主源.因此,我下载了该代码,并用链接中的脚本替换了旧的patool库脚本.结果如下:
os.listdir()
Out[11]: ['a.gz']
patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[12]: '.'
patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[13]: '.'
patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[14]: '.'
os.listdir()
Out[15]: ['a', 'a.gz', 'a1', 'a2'] …Run Code Online (Sandbox Code Playgroud) 每当我将VS Code的项目窗格中的文件从一个文件夹复制粘贴到另一个具有相同名称的现有文件时,它都会.1在文件名中附加 a 。
(例如:bob.jpg -> bob.1.jpg)。
有没有办法禁用它并让它覆盖文件(或至少提示确认覆盖)?
项目文件夹示例:
[folder] images_1
bob.jpg //copy this
[folder] images_2
bob.jpg //to replace this one here...
Run Code Online (Sandbox Code Playgroud)
现在,我被迫通过Windows Explorer来完成,但如果有办法我肯定会喜欢答案!:)
我正在尝试编写一个允许在Windows中移动文件的实用程序,当它找到正在使用的文件时,将设置该文件在重新启动时移动.
似乎MoveFileEx(http://msdn.microsoft.com/en-us/library/aa365240 ( VS.85 ) .aspx)是对此的正确调用,但我无法弄清楚我正在寻找什么错误代码从GetLastError(http://msdn.microsoft.com/en-us/library/ms679360 ( VS.85 ) .aspx)看到该文件正在使用中.
我希望实用程序在存在实际权限问题时失败.无论如何要区分你不能写在那里和使用中的覆盖错误?
另外,如果我在用户的临时文件夹中移动了文件,它们会在延迟重命名之前被删除吗?
我有一个bourne shell脚本,它执行几个任务.其中一项任务是将某些文件移动到某个目录.今天,当我运行脚本时,我收到以下消息:
mv: will not overwrite just-created <filename> with <sameFilename>
Run Code Online (Sandbox Code Playgroud)
其中filename是具有完整路径的原始文件名,而sameFilename是完全相同的文件和路径.我经常每天使用这个脚本,之前从未收到此消息.
在运行脚本后,我重新运行它以查看错误是否仍然存在,并且我无法再次重现它.我在Red Hat 5 Enterprise中运行此脚本.
我正在尝试使用Python的tarfile模块来提取tar.gz存档.
我想要提取来覆盖它们已经存在的任何目标文件 - 这是tarfile的正常行为.
但是,我发现有些文件具有写保护功能(例如chmod 550).
该tarfile.extractall()操作实际上失败:
IOError: [Errno 13] Permission denied '/foo/bar/file'
Run Code Online (Sandbox Code Playgroud)
如果我尝试从正常的命令行删除文件,我可以这样做,我只需要回答提示:
$ rm <filename>
rm: <filename>: override protection 550 (yes/no)? yes
Run Code Online (Sandbox Code Playgroud)
普通的GNU tar实用程序也可以毫不费力地处理这些文件 - 它只是在提取时覆盖它们.
我的用户是文件的所有者,因此在运行tarfile.extractall之前递归chmod目标文件并不困难.或者我可以使用shutil.rmtree预先吹走目标,这是我现在正在使用的解决方法..但是,这感觉有点hackish.
是否有更多的Pythonic方法来处理tarfile中的只读文件,使用异常或类似的东西?
我想在我的django管理员索引中显示额外的侧边栏.我创造了templates/admin/index.html它并且它出现了.现在我需要一些模型数据.为此,我在文件中创建了索引函数admin/views.py
def index(request):
var = 'var'
return render_to_response('admin/index.html', {'var': var})
Run Code Online (Sandbox Code Playgroud)
没有这个功能我有错误ViewDoesNotExist.
但是,模板不会对此示例变量'var'做出反应.此外,我的应用程序不会显示在索引中.我只有auth应用程序.
我认为我正在覆盖索引函数表单管理视图.如何正确覆盖此功能?
overwrite ×10
python ×4
file ×2
admin ×1
append ×1
c ×1
c++ ×1
copy ×1
copy-paste ×1
django ×1
django-admin ×1
django-views ×1
extract ×1
flatten ×1
java ×1
list ×1
move ×1
overriding ×1
pi ×1
powershell ×1
printing ×1
python-2.7 ×1
redhat ×1
shell ×1
tarfile ×1
winapi ×1
windows ×1
ziparchive ×1