小编Cri*_*itu的帖子

从父函数赋值给变量:"赋值前引用的局部变量"

对于以下Python 2.7代码:

#!/usr/bin/python

def funcA():
   print "funcA"
   c = 0 
   def funcB():
      c += 3
      print "funcB", c

   def funcC():
      print "funcC", c

   print "c", c
   funcB()
   c += 2
   funcC()
   c += 2
   funcB()
   c += 2
   funcC()
   print "end"

funcA()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

File "./a.py", line 9, in funcB
    c += 3
UnboundLocalError: local variable 'c' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

但是,当我注释掉该行c += 3funcB,我得到以下的输出:

funcA
c 0
funcB 0
funcC 2
funcB 4
funcC 6
end
Run Code Online (Sandbox Code Playgroud)

c在 …

python

32
推荐指数
2
解决办法
4万
查看次数

如何在Microsoft Windows中执行时立即停止Python关闭

我刚开始上大学,我们将使用python.我们真的没有做任何事情所以我已经下载了程序并完成了一些打印命令,就是这样.

当我运行.py文件(print命令)时,它会在出现后立即关闭.我明白为什么会这样做 - 它给出了输出,所以它完成了它需要做的事情 - 但我也明白你可以阻止这种情况发生.

我查看了这个网站,并没有给出这个问题的解决方案,或者我不理解它们.

是否有一个简单的命令我可以输入到我的IDLE编辑器中,该命令会暂停程序还是什么?我input("prompt: ")按照某人的建议尝试过,这没有任何区别.

如果没有此命令,是否有办法更改计算机上的设置,以便程序不会自动关闭?

python windows

30
推荐指数
5
解决办法
12万
查看次数

为什么Ruby的正则表达式使用\ A和\ z而不是^和$?

我不是Ruby程序员,但在阅读广泛的Ruby on Rails安全指南时,我注意到了这一部分:

Ruby正则表达式中常见的缺陷是将字符串的开头和结尾与^和$匹配,而不是\ A和\ z.

有谁知道这只是美学问题还是其他问题?我问,因为我只使用了使用^和的语言$.

ruby regex ruby-on-rails

29
推荐指数
1
解决办法
7118
查看次数

从python中的MS word文件中提取文本

为了在python中使用MS word文件,有python win32扩展,可以在windows中使用.我如何在linux中做同样的事情?有图书馆吗?

python linux ms-word

27
推荐指数
5
解决办法
6万
查看次数

如何通过C#程序运行外部程序?

如何通过C#程序运行记事本或计算器等外部程序?

c#

27
推荐指数
4
解决办法
8万
查看次数

如何在Python中使用tkinter选择目录并存储位置

我正在创建一个带有浏览按钮的GUI,我只想返回路径.我一直在寻找使用如下代码的解决方案.

Tkinter.Button(subframe, text = "Browse", command = self.loadtemplate, width = 10).pack()

   def loadtemplate(self): 
        filename = tkFileDialog.askopenfilename(filetypes = (("Template files", "*.tplate")
                                                             ,("HTML files", "*.html;*.htm")
                                                             ,("All files", "*.*") ))
        if filename: 
            try: 
                self.settings["template"].set(filename)
            except: 
                tkMessageBox.showerror("Open Source File", "Failed to read file \n'%s'"%filename)
Run Code Online (Sandbox Code Playgroud)

但是我知道Tkinter有一个内置的,askopenfilename这是一个非常简单的一行代码来打开文件.有没有办法修改它来返回目录而不是文件?是否有比我发布的更大代码块更小的选项?

python directory tkinter button python-2.x

26
推荐指数
2
解决办法
8万
查看次数

有没有办法将UNC路径映射到Windows 2003上的本地文件夹?

我知道我可以将UNC路径映射到本地驱动器号.但是,我想知道是否有办法将UNC路径映射到本地文件夹.我有一个程序,其中有一个特定的文件夹硬编码到程序中,我想尝试创建一个具有相同名称的文件夹映射到UNC路径,以便可以从网络共享访问数据.这可行吗?具体来说,这是在Windows 2003服务器上.

windows path unc local

25
推荐指数
3
解决办法
7万
查看次数

如果已经运行,如何阻止cron作业执行

我有一个PHP脚本,我在CentOS上每隔10分钟通过cron执行这个脚本.

问题是如果cron作业需要10分钟以上,那么同一个cron作业的另一个实例将启动.

我尝试了一个技巧,那就是:

  1. 当cron作业启动时,使用php代码创建一个锁定文件(与pid文件相同).
  2. 作业完成后,使用php代码删除了锁定文件.
  3. 当任何新的cron作业开始执行脚本时,我检查了锁文件是否存在,如果存在,则中止脚本.

但是,当由于任何原因未通过脚本删除或删除锁定文件时,可能存在一个问题.cron永远不会重新开始.

有没有办法我可以再次执行cron作业,如果它已经在运行,使用Linux命令或类似的?

php cron centos

25
推荐指数
3
解决办法
4万
查看次数

如何在我的用户名中使用带有@符号的linux命令行ftp?

当我的用户名@在中间有一个标志时,如何在linux命令行上运行它?

ftp -u user:password@host/destination_folder/ sourcefile.txt
Run Code Online (Sandbox Code Playgroud)

我的用户名是info@domain.com,它认为我的主机是domain.com.

注意:这是无人值守的上传,因此我不能只输入用户名和密码.

linux ftp

24
推荐指数
4
解决办法
10万
查看次数

在Vim中更改波浪号(〜)颜色

当Vim启动时,它会显示~空行的波形符号().有没有办法改变它的颜色?

vim

23
推荐指数
4
解决办法
6450
查看次数

标签 统计

python ×4

linux ×2

windows ×2

button ×1

c# ×1

centos ×1

cron ×1

directory ×1

ftp ×1

local ×1

ms-word ×1

path ×1

php ×1

python-2.x ×1

regex ×1

ruby ×1

ruby-on-rails ×1

tkinter ×1

unc ×1

vim ×1