精华内容
下载资源
问答
  • 文件操作是怎么回事?Python入门简单、功能强大,是很多零基础或者想要转行进入IT行业人士的首选。想要学好一门技术,必须要从基础开始、一点一点深入学习,学习过程中要注重理论与实战相结合,积累相关项目经验。...

    Python基础知识如何入门?文件操作是怎么回事?Python入门简单、功能强大,是很多零基础或者想要转行进入IT行业人士的首选。想要学好一门技术,必须要从基础开始、一点一点深入学习,学习过程中要注重理论与实战相结合,积累相关项目经验。下面就给大家讲解一下Python入门基础知识——文件操作。

    23a4cc0f0572e4783065b529defc676a.png

    什么是文件?

    文件是存储在外部介质的数据集合,通常可以长久保存(前提是这个介质不易损坏)。通俗点说,文件就是存放数据的地方。

    Python打开文件

    操作分为三步:1)找出文件存放的路径,打开文件;2)对文件修改操作;3)关闭文件。路径可分为绝对路径和相对路径:绝对路径指的是从最初的硬盘开始一直进入到文件位置;相对路径指的是当前所在位置继续向文件所在位置进发。

    文件的编码

    根据编码的不同,可以将文件分为文本字符和二进制字节。文本字符,如汉字、英文字母、数字、标点等,字符是为了显示。二进制字节是计算机存储的形式,在计算机中,任何数据都是01串构成的二进制字节。

    在实际编码过程中,我们会用到很多中文,面对Python2默认的ASCII编码,为了不使包含中文的程序报错,也是为了符合国际通用惯例,一般将我们的文件编码设置为utf-8格式。这就是我们一般看到的在文件首行声明#-*- coding:utf-8 -*- 的原因。如果在Python中进行编码和解码的时候,不指定编码方式,那么Python就会使用defaultencoding。

    在Python2中,有两种不同的字符串数据类型,一种是 “str”对象,存储着字节,如果在字符串前使用一个’u’的前缀,表示的是这个字符的Unicode码点,即unicode对象。

    Python读文件

    Python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量。

    read()每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

    readlines()之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。

    readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。

    注意:这三种方法是把每行末尾的''也读进来了,它并不会默认的把''去掉,需要我们手动去掉。

    Python写文件

    Python文件对象提供了两个“写”方法: write() 和 writelines()。

    write()方法和read()、readline()方法对应,是将字符串写入到文件中。我们可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。

    writelines()方法和readlines()方法对应,也是针对列表的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。

    学习Python编程语言,动手实践是一件非常愉快的事情,遇到了程序上的问题,经常自己思考研究,从而解决问题。当然了,如果你想要更系统、更全面地掌握Python技术,可以选择专业的学习方式。

    展开全文
  • 我正在学习Python,不过遇到一些问题,想请教OS模块中的os.path.dirname(__file__)和...如果是的话:1:我怎么能够知道,括号内的文件是以相对路径还是绝对路径被运行的?2:为什么我运行下面例子脚本的时候,这个文件...

    我正在学习Python,不过遇到一些问题,想请教

    OS模块中的os.path.dirname(__file__)和os.path.abspath(__file__)

    运行os.path.dirname(__file__)时候,为什么返回的是空白呢?是不是因为他运行的是相对路径???

    如果是的话:

    1:我怎么能够知道,括号内的文件是以相对路径还是绝对路径被运行的?

    2:为什么我运行下面例子脚本的时候,这个文件是以相对路径被运行的呢?

    比如我下面的例子

    1

    2

    3

    4

    5

    6import os

    print (os.path.dirname(__file__))

    print (os.path.abspath(__file__))

    print (os.path.abspath(os.path.dirname(__file__)))

    print (os.path.dirname(os.path.abspath(__file__)))

    bVzRXy

    PS:附加问题

    os.path.abspath(os.path.dirname(__file__))和os.path.dirname(os.path.abspath(__file__))性质是否一样呢?

    建議你可以稍微瀏覽一下 Python doc: os.path, 你就會明白囉:

    我放上跟你問題相關的幾個條目:

    1os.path.abspath(path)

    Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to calling the function normpath() as follows: normpath(join(os.getcwd(), path)).

    1os.path.normpath(path)

    Normalize a pathname by collapsing redundant separators and up-level references so that A//B, A/B/, A/./B and A/foo/../B all become A/B. This string manipulation may change the meaning of a path that contains symbolic links. On Windows, it converts forward slashes to backward slashes. To normalize case, use normcase().

    1os.path.dirname(path)

    Return the directory name of pathname path. This is the first element of the pair returned by passing path to the function split().

    1os.path.split(path)

    Split the pathname path into a pair, (head, tail) where tail is the last pathname component and head is everything leading up to that. The tail part will never contain a slash; if path ends in a slash, tail will be empty. If there is no slash in path, head will be empty. If path is empty, both head and tail are empty. Trailing slashes are stripped from head unless it is the root (one or more slashes only). In all cases, join(head, tail) returns a path to the same location as path (but the strings may differ). Also see the functions dirname() and basename().

    我們做以下觀察:

    1test.py

    1

    2

    3

    4

    5

    6

    7import os

    print(__file__)

    print(os.path.dirname(__file__))

    print(os.path.abspath(__file__))

    print(os.path.abspath(os.path.dirname(__file__)))

    print(os.path.dirname(os.path.abspath(__file__)))

    運行:

    1

    2

    3$ pwd

    /home/dokelung

    $ python test.py

    結果:

    1

    2

    3

    4

    5test.py

    /home/dokelung/test.py

    /home/dokelung

    /home/dokelung

    首先

    1__file__

    的值其實就是在命令列上 invoke Python 時給的 script 名稱:

    1

    2

    3$ python test.py # 此時 __file__ 是 test.py

    $ python ../test.py # 此時 __file__ 是 ../test.py

    $ python hello/../test.py # 此時 __file__ 是 hello/../test.py

    在這裡, 因為

    1__file__

    的值為

    1test.py

    , 所以

    1print(__file__)

    的結果是

    1test.py

    也就不意外了。

    接著,

    1os.path.dirname(__file__)

    之所以得出空白(空字串), 是因為

    1__file__

    就只是一個單純的名稱(非路徑) 且

    1dirname

    也只是很單純的利用

    1os.path.split()

    來切割這個名稱(這當然沒甚麼好切的, 連路徑分割符都沒有):

    1

    2

    3

    4

    5>>> import os

    >>> os.path.split('test.py')

    ('', 'test.py')

    >>> os.path.split('test.py')[0]

    ''

    我分會發現切出來的

    1head

    是空字串, 所以

    1dirname

    的結果是空白。

    1abspath

    動用了

    1os.getcwd()

    所以即便給定的是單純的名稱, 也能返回路徑:

    1

    2

    3

    4

    5

    6

    7

    8>>> os.getcwd()

    '/home/dokelung'

    >>> os.path.join(os.getcwd(), 'test.py')

    '/home/dokelung/test.py'

    >>> os.path.normpath(os.path.join(os.getcwd(), 'test.py'))

    '/home/dokelung/test.py'

    1os.path.abspath(os.path.dirname(__file__))

    的結果就等於是

    1os.getcwd()

    的結果去接上

    1dirname

    得到的空字串:

    1

    2

    3

    4

    5>>> os.path.dirname('test.py')

    ''

    >>> os.path.join(os.getcwd(), os.path.dirname('test.py'))

    '/home/dokelung/'

    最後,

    1os.path.dirname(os.path.abspath(__file__))

    的結果是這麼來的:

    1

    2

    3

    4

    5

    6

    7

    8>>> os.path.abspath('test.py')

    '/home/dokelung/test.py'

    >>> os.path.split(os.path.abspath('test.py'))

    ('/home/dokelung', 'test.py')

    >>> os.path.split(os.path.abspath('test.py'))[0]

    '/home/dokelung'

    希望講到這裡有讓你明白!

    結論

    現在簡要的回答你的問題

    為什麼

    1dirname

    出現空白?

    因為你運行的時候給的是單純的名稱, 所以

    1__file__

    是單純的名字非路徑

    我怎么能够知道,括号内的文件是以相对路径还是绝对路径被运行的?

    很簡單, 就看你怎麼運行 Python 的

    为什么我运行下面例子脚本的时候,这个文件是以相对路径被运行的呢?

    因為

    1$ python 1.py

    你自己給了相對路徑

    1os.path.abspath(os.path.dirname(__file__))

    1os.path.dirname(os.path.abspath(__file__))

    性质是否一样呢?

    基本上一樣

    我回答過的問題: Python-QA

    展开全文
  • 今天刚刚学的Oracle数据库,下载了,在调用磁盘文件那一会卡住了,调用之前新建了一个文本文档(d:\my.txt),但是调用的时候按路径(@d:\my.txt)还是提示找不到,包括在cmd命令提示符下,操作copy指令也是不行的。...
  • 这是我写的 国际化配置文件 ... 然后这样的话, 页面只会显示设置好的路径下的语言资源, 而无法实现动态修改, 请问各位大佬该怎么办 [color=#FF0000]...这里面的路径怎么实现动态修改? 请不吝赐教!
  • 网上说有三种方式,我的尝试以下这种靠谱 首先确保jupyter的命令可以在cmd里使用 打开Windows的cmd,在cmd中输入jupyter notebook --generate-config如下图:    =========================================...

    网上说有三种方式,按我的尝试以下这种靠谱

    首先确保jupyter的命令可以在cmd里使用

    打开Windows的cmd,在cmd中输入jupyter notebook --generate-config如下图: 

    注意y/N输入N 

    ===================================================

    注意:如果遇到说  Jupyter不是内部或外部命令也不是可运行的程序或批处理

    我的电脑 》右键》 属性》 更改设置》高级》环境变量




    双击path,在末尾加入anaconda的script路径,确定。jupyter命令可以使用了。


    =========================================

    可以看到路径为D:\Users……找到此路径修改jupyter_notebook_config.py文件 这里写图片描述 

    打开此文件找到

    ## The directory to use for notebooks and kernels. 
    #c.NotebookApp.notebook_dir = ''
     
    将其改为 
    ## The directory to use for notebooks and kernels. 
    c.NotebookApp.notebook_dir = 'E:\Jupyter'
     
    其中E:\Jupyter为我的工作空间,你可以改成你自己的, 
    注意:

    1.#c.NotebookApp.notebook_dir = ''中的#必须删除,且前面不能留空格。 
    2.E:\Jupyter,Jupyter文件夹必须提前新建,如果没有新建,Jupyter Notebook会找不到这个文件,会产生闪退现象。



    展开全文
  • focusky怎么设置路径

    2021-03-10 18:11:20
    focusky怎么设置路径?focusky是一款免费的专业ppt动画制作软件,多种效果和便捷的操作在用户群体中十分的受欢迎。而还不是很了解如何在focusky中设置路径的小伙伴们,下文就给大家带来具体的操作方法。 focusky路径...

    focusky怎么设置路径?focusky是一款免费的专业ppt动画制作软件,多种效果和便捷的操作在用户群体中十分的受欢迎。而还不是很了解如何在focusky中设置路径的小伙伴们,下文就给大家带来具体的操作方法。

    focusky路径设置教程

    打开fs后进入到主菜单中并且建议幻灯片或者打开需要操作的文件。

    点击“动画“后进入到动画编辑的页面中。

    选择需要进行添加的物体后一次点击“添加动画”—“动作路径”—“自定义路径”的按钮开始进行自定义的编辑。

    http://www.973.com/bangong/

    在右侧栏中勾选显示的路径动作就可以进行编辑

    “添加节点”按住ctrl后在线上或者是空白处点击鼠标就可以添加。

    “删除节点”按住ctrl后在节点上点击鼠标左键就可以删除该节点。

    “调整节点”按住alt并且拖动节点来控制节点。

    完成路径设置后点击“预览”就可以预览完成后的效果。之后点击“推出动画编辑”按钮保存设置就可以了。

    展开全文
  • 1、创建一个test数据库,并在里面创建一张名为list的数据表,用于保存图片的路径,path是保存图片路径的字段2、新建一个html文件,命名为index.html,在该文件里创建一个表单form,并在里面创建上传的按钮。...
  • windows文件路径反斜杠’'分开的 例如:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Xmanager 5 linux总文件路径是使用”/’分开。 例如:/home/username/anaconda3/envs/tensorflow/lib/python3.6...
  • 显示文件路径已经实现,使用的是FolderBrowserDialog控件。但是选取文件中的图片使其上传到picturebox中不懂怎么实现
  • jsp里点击按钮出现一个对话框,让用户选择文件保存路径,然后后台的java获取到路径,按路径保存,后台的我会写,但是前台不知道怎么弄,谁会给我讲讲啊,怎么样一点击按钮就会弹出那个对话框呢?
  • 给您介绍一款压缩解压工具绝对超乎您的想象,用7-zip压缩解压工具来 提取压缩文件 速度超快,效率超高,下面一起来看看用7-zip怎么提取压缩文件吧。 1、制作一个u启动u盘启动盘,根据开机画面提示,重启电脑开机...
  • 就html里的一个简单的下载连接,我... 下载 现在因为这文件比较大,也不常更新,就打算放在项目外的固定位置 然后我就这么写了: 下载 把路径复制到浏览器可以下载的,但是点击按钮完全没反应啊…… 求指教
  • 文件32313133353236313431303231363533e78988e69d8331333238666362分割*/public class FileSeparatorDemo1{/*** 字节分隔* @param sourceFileUrl 源文件路径如:c:/a.txt* @param targetFileUrl 目标文件路径...
  • 有时候开发调试时,需要查看模拟器或真机中应用的数据文件,比如Sqlite之类的,可以下步骤进行: 模拟器文件路径Finder ->前往 ->前往文件夹-> 输入路径 : /Users/用户名/Library/Developer/...
  • ============问题描述============ 如题,我想在我的程序中点击一个按钮,然后打开系统...然后我点击文件管理器之后,可以到文件管理器中得到我选中的文件路径,供我的程序使用,怎么实现?用广播? ...
  • delphi 点击按钮时弹出对话框,选择路径,然后选择文件夹,然后选择指定文件,代码怎么实现
  • 保存按钮的代码如下: ``` private void btnSave_Click(object sender, RoutedEventArgs e) { string fileContent = this.txtContents.Text;...难道IsolatedStorageFile保存文件时不能指定路径么?
  • Win10怎么批量顺序合并txt文件

    千次阅读 2018-11-01 16:49:58
    1、想要进行批量合并首先要将...3、进入命令提示符窗口后,使用“cd 文件路径”命令进入需要合并的txt文件的目录,我这里合并的文件是在“F:\ttt”目录下。 4、进入目录后,写入“type *.txt >>f:...
  • 这个问题具体的原因我也不清楚 我没有操作middleware验证过什么 但是突然就在middleware文件夹下面出现了以前的controller文件 所以无论怎么改controller里面的文件也没变化 最终删除了middleware下面的文件结构 ...
  • 将解压出的整个文件夹复制或者移动到 <code>your sdk 路径/platforms文件夹,然后打开SDK Manager,打开 <code>Tools(工具)菜单选择 <code>Options(选项)菜单项打开Android SDK Manager Setting...
  • 每次点击选择文件按钮,控件自动生成一个input,将文件选择,选择后将其files中的属性提取出文件名,大小等信息,关于files可看这篇文章。选择的文件可以累加,文件的files都会保存在构造函数内部 ...
  • 依次上图中所示的突变,进入sftp的命令界面。输入help命令:即:sftp>help得到如下的截图。 比较重要的命令有:cd----查询服务器端的路径  lcd---查询本地的地址  pwd:服务器当前的地址。  lpwd:本地的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 689
精华内容 275
关键字:

怎么按路径文件