精华内容
下载资源
问答
  • Python打开文件默认路径

    千次阅读 2020-11-18 21:13:24
    vscode打开"文件夹1/文件夹2" ...结论: Python打开文件或者创建文件时,如果不指定路径,那么在当前目录下进行创建或者打开文件,即在vscode所打开的目录下创建和打开文件,在此处是在文件夹"文件夹1"下. ...

    vscode打开"文件夹1/文件夹2"

    运行代码:

    f = open("文件.txt","w",encoding='utf-8')
    f.write("成功写入文件...")
    f.close()
    

    在这里插入图片描述在这里插入图片描述

    结论: Python打开文件或者创建文件时,如果不指定路径,那么在当前目录下进行创建或者打开文件,即在vscode所打开的目录下创建和打开文件,在此处是在文件夹"文件夹1"下.

    展开全文
  • python 打开文件4种方式

    千次阅读 2020-05-29 09:49:10
    python 打开文件4种方式python 打开文件4种方式【方式一】使用os.system()函数运行其他程序【方式二】使用ShellExecute函数运行其他程序(用这种方法解决我的问题)【方式三】使用CreateProcess函数运行其他程序...

    python 打开文件4种方式

    这次主要是记录我在写一个服务重启代码时,在代码中遇到调用一个bat 类似ping 192.168.1.1 -t这种持续的bat 文件时,后面的代码不会执行的问题,解决方式 将文件打开方式从os.system 换成win32api.shellexecute即可

    【方式一】使用os.system()函数运行其他程序

    1. os模块中的system()函数可以方便地运行其他程序或者脚本,模式如下:os.system(command)
    2. • command: 要执行的命令,如果要向脚本传递参数,可以使用空格分割程序及多个参数。
    3. 示例如下:

    import os
    os.system(‘notepad’) # 打开记事本程序.
    0

    os.system(‘notepad 1.txt’) # 打开1.txt文件,如果不存在,则创建.
    0

    【方式二】使用ShellExecute函数运行其他程序(用这种方法解决我的问题)

    1. win32api模块中的ShellExecute()函数:除了使用os.system()函数外,还可以使用win32api模块中的ShellExecute()函数来运行其他程序,格式如下:
      •ShellExecute(hwnd, op, file, args, dir, show)
      • hwnd: 父窗口的句柄,如果没有父窗口,则为0
      • op : 要运行的操作,为open,print或者为空
      • file : 要运行的程序,或者打开的脚本
      • args : 要向程序传递的参数,如果打开的是文件则为空
      • dir : 程序初始化的目录
      • show : 是否显示窗口
      示例如下:

    import win32api
    win32api.ShellExecute(0, ‘open’, ‘notepad.exe’, ‘’, ‘’, 0) # 后台执行
    win32api.ShellExecute(0, ‘open’, ‘notepad.exe’, ‘’, ‘’, 1) # 前台打开
    win32api.ShellExecute(0, ‘open’, ‘notepad.exe’, ‘1.txt’, ‘’, 1) # 打开文件
    win32api.ShellExecute(0, ‘open’, ‘http://www.sohu.com’, ‘’, ‘’, 1) # 打开网页
    win32api.ShellExecute(0, ‘open’, ‘D:\Opera.mp3’, ‘’, ‘’, 1) # 播放视频
    win32api.ShellExecute(0, ‘open’, ‘D:\hello.py’, ‘’, ‘’, 1) # 运行程序
    使用ShellExecute函数,就相当于在资源管理器中双击文件图标,系统会打开相应程序运行。
    NOTE:

    【方式三】使用CreateProcess函数运行其他程序

    1.创建进程:为了便于控制通过脚本运行的程序,可以使用win32process模块中的CreateProcess()函数创建
    一个运行相应程序的进程。其函数格式为:
    CreateProcess(appName, cmdLine, proAttr, threadAttr, InheritHandle, CreationFlags, newEnv, currentDir, Attr)
    • appName 可执行文件名
    • cmdLine 命令行参数
    • procAttr 进程安全属性
    • threadAttr 线程安全属性
    • InheritHandle 继承标志
    • CreationFlags 创建标志
    • currentDir 进程的当前目录
    • Attr 创建程序的属性
    示例如下:

    win32process.CreateProcess(‘C:\Windows\notepad.exe’, ‘’, None, None, 0, win32process.CREATE_NO_WINDOW,
    None, None, win32process.STARTUPINFO())
    (PyHANDLE:892, PyHANDLE:644, 21592, 18780) # 函数返回进程句柄、线程句柄、进程ID以及线程ID
    结束进程:可以使用win32process.TerminateProcess函数来结束已创建的进程。函数格式如下:
    TerminateProcess(handle, exitCode)
    • handle 要操作的进程句柄
    • exitCode 进程退出代码
    或者使用win32event.WaitForSingleObject等待创建的线程结束。函数格式如下:
    WaitForSingleObject(handle, milisecond)
    • handle : 要操作的进程句柄
    • milisecond: 等待的时间,如果为-1,则一直等待.
    示例如下:

    import win32process
    handle = win32process.CreateProcess(‘C:\Windows\notepad.exe’, ‘’, None, None, 0, win32process
    .CREATE_NO_WINDOW, None, None, win32process.STARTUPINFO()) # 打开记事本,获得其句柄

    win32process.TerminateProcess(handle[0], 0) # 终止进程
    或者

    import win32event
    handle = win32process.CreateProcess(‘C:\Windows\notepad.exe’, ‘’, None, None, 0,
    win32process.CREATE_NO_WINDOW, None, None, win32process.STARTUPINFO()) # 创建进程获得句柄

    win32event.WaitForSingleObject(handle[0], -1) # 等待进程结束
    0 # 进程结束返回值

    【方式四】使用ctypes调用kernel32.dll中的函数

    1.使用ctypes模块可以让Python调用位于动态链接库的函数。
    ctypes模块为Python提供了调用动态链接库中函数的功能。使用ctypes模块可以方便地调用由C语言编写的动态链接库,并向其传递参数。ctypes模块定义了C语言中的基本数据类型,并且可以实现C语言中的结构体和联合体。ctypes模块可以工作在Windows,Linux,Mac OS等多种操作系统,基本上实现了跨平台。
    示例:Windows下调用user32.dll中的MessageBoxA函数。

    from ctypes import *
    user32 = windll.LoadLibrary(‘user32.dll’)
    user32.MessageBoxA(0, str.encode(‘Ctypes is so smart!’), str.encode(‘Ctypes’), 0)
    1

    ctype模块中含有的基本类型与C语言类似,下面是几个基本的数据类型的对照:

    Ctypes数据类型 C数据类型
    c_char char
    c_short short
    c_int int
    c_long long
    c_float float
    c_doule double
    c_void_p void *
    展开全文
  • python打开文件是否为动态获取文件的内容?什么意思呢? 就是我写一个程序,打开一个文件,一直对他循环读取,我在另一个程序,打开这个文件,以a的模式追加内容,那么第一个程序是否能读取到第二个程序追加的内容呢...

    python打开文件是否为动态获取文件的内容?什么意思呢? 就是我写一个程序,打开一个文件,一直对他循环读取,我在另一个程序,打开这个文件,以a的模式追加内容,那么第一个程序是否能读取到第二个程序追加的内容呢? 还是说第一次读取的文件 仅仅是一开始读到的内容呢。

    建设一个file文件,内容就为吧lqwzs

    2173150-20201019152207391-1559593551.png

    这个程序就是读文件,第一次读取全部的内容,注意!!!:读完后文件的seek(光标位置)停在末尾,再读的话就是从原来文件末尾读,那么能不能读到内容呢?接下来看

    运行一下:

    2173150-20201019152921622-1169174212.png

    很容易理解,把内容读取到了

    2173150-20201019153035105-1704515363.png

    这个程序就是在不断的追加内容,很容易理解. 接下来就是关键了!!!,我在文件末尾添加内容。

    2173150-20201019153218477-108706773.png

    那么能否被读取到呢

    请看:

    2173150-20201019153318397-185484364.png

    挖草,怎么就被读到了呢,什么原因呢,python读取文件是动态的嘛,什么原因呀,我的理解就是,python一切皆对象,文件是对象,也是容器吧,他对应的内存地址,是固定的,但是由于这个内存地址是容器型的(我觉得我再瞎扯 呵呵呵),内部是可以改变的,就像list之类的吧,这样其他程序在添加的,增加了文件内存地址所指向的内容,内存地址本身没有改变,所有就能读到吧,我不禁想到了之前遇到的一个习题:

    2173150-20201019154908950-424072334.png

    2173150-20201019154956873-524465212.png

    哭了,怎么就这样了阿 ,让我来瞎扯一下吧,在函数调用的时候,b是一个默认的列表容器,指向一个内存地址,在经过fun(1),b添加了一个元素1,此时b指向的内存地址并没有改变,只不过内存地址里面内容改变了,b的内存地址并没有改变,第二次调用这个函数,还是用的是b的内存地址,此时的b为[1,2,1],经过第二次调用,添加一个元素,就这样了[1, 2, 1, '阿这,阿这,又是为什么呢']

    注: lqw的第一个博客园文章,第一次,写了一个小时,发现对知识的理解不够深,感觉是明白了,描述起来,模模糊糊,不够准确吧 要加油那

    ,

    2173150-20201019155911520-1190670253.png

    展开全文
  • Python打开文件路径

    万次阅读 2019-05-23 19:45:55
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符’r’表示读。 f = open(‘D:/test.txt’,‘r’) 注意了,对初学python的同学而言,open()函数着实存在一个不大不小...

    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符’r’表示读。

    f = open(‘D:/test.txt’,‘r’)
    注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。

    错误演示:

    f = open(‘D:\test.txt’,‘r’)
    Traceback (most recent call last):

    File"", line 1, in
    f =open(‘D:\test.txt’,‘r’)

    OSError: [Errno 22] Invalid argument: ‘D:\test.txt’
    仿佛没有什么不对的地方,一模一样的嘛!再仔细看,斜杠的方向不一样,为什么会出现这样的情况呢,原因在于我们从系统中直接复制文件所在路径所致,Windows系统文件路径中的斜线符号为’’。

    这就引出了转义字符的概念,需要在字符中使用特殊字符时,python用反斜杠’\’转义字符,所以错误案例中的’\’被用作转义,导致解释器解释文件路径错误。

    改正的方法有两种:第一、将’\’的方向反向为’/’,即文首正确的写法;第二、在含有转义符的字符串前加‘r’表示字符串内按原始含义解释,不做转义处理。(推荐!)

    f = open(r’D:\test.txt’,‘r’)
    另附:

    转义字符表

    转义字符

    描述

    (在行尾时)

    续行符

    \

    反斜杠符号

    单引号

    "

    双引号

    \a

    响铃

    \b

    退格(Backspace)

    \e

    转义

    \000

    \n

    换行

    \v

    纵向制表符

    \t

    横向制表符

    \r

    回车

    \f

    换页

    \oyy

    八进制数,yy代表的字符,例如:\o12代表换行

    \xyy

    十六进制数,yy代表的字符,例如:\x0a代表换行

    \other

    其它的字符以普通格式输出

    open()函数标识符表

    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。

    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    展开全文
  • python打开文件管理器

    千次阅读 2019-12-02 18:54:49
    python 使用win32 API打开文件管理器对话窗口代码 win10 系统进行python GUI设计时,涉及到文件打开、保存等可以使用win32 API接口来实现,使弹出的文件管理窗口更美观。调用以下函数,可以直接打开win10自带的文件...
  • Python打开文件或程序

    千次阅读 多人点赞 2020-05-18 18:45:41
    如何用Python来控制电脑用自带的程序打开一个文件,比如用记事本打开txt文档,用图片浏览器打开图片,或者直接打开一个软件,在网上找了好就才发现,os模块里有个命令os.startfile,函数作用是使用已关联的应用程序...
  • Python 打开文件对话框

    千次阅读 2018-09-12 23:12:24
    以下内容来自http://interactivepython.org/runestone/static/thinkcspy/GUIandEventDrivenProgramming/02_standard_dialog_boxes.html#file-chooser import tkinter as tk from tkinter import filedialog ...
  • Python打开文件对话框

    千次阅读 2018-03-22 17:55:42
    from tkinter import filedialog filename = filedialog.askopenfilename(initialdir ='E:/Python') print(filename)
  • python打开文件报错:Invalid argument

    万次阅读 多人点赞 2019-09-11 09:09:08
    在D:\Users\JCDN\Desktop\abc路径下,创建test.txt文件,写入: “我要写入一段文字 世界很美好 不要暴躁” 并把这段话打印出来 用以下代码运行报错: f = open("D:\\Users\JCDN\Desktop\abc\test.txt","w") f.write...
  • python打开文件对话框

    千次阅读 2017-03-30 16:11:51
    python3.5环境下:from tkinter.filedialog import *filename = filedialog.askopenfilename(initialdir='C:/Users/feng/Desktop/computer计算机网络资料') print(filename)运行效果图和windows系统自带的一样:
  • 简单解决:python打开文件错误:FileNotFoundError: [Errno 2] No such file or directory: 有时候电脑怎么改变文件名字和删除文件后缀,都不可以。 只需要把路径改成绝度路径,直接上 读取文件的路径 只需要注意把...
  • 章节Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(String) Python 运算符 Python 列表(list) Python 元组(Tuple) Python 集合(Set) Python 字典...
  • 学习笔记——Python打开文件失败

    千次阅读 2019-07-22 17:42:42
    文件打开失败可能的原因: 如果你使用下面这种方式来打开一个文件: myfile = open('C:\note\text.dat', 'w') 你会认为:打开一个在C:/note目录下的名为text.dat的文件。 然而······ Python却是这样...
  • python打开文件对话框方法

    千次阅读 2014-03-26 17:33:12
    1、通过win32ui实现 import win32ui ...dlg.SetOFNInitialDir('E:/Python') # 设置打开文件对话框中的初始显示目录 dlg.DoModal() filename = dlg.GetPathName() # 获取选择的文件名称 print
  • python打开文件报错的解决方法

    千次阅读 2020-06-23 11:50:19
    源代码: ... File "/usr/lib/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't dec...
  • 在命令行运行python打开文件

    千次阅读 2019-09-10 16:55:01
    openfile = open(‘路径+文件名’) openfile.read() 注:路径中的\需要输入两次,转义字符。
  • f = open('buffer.py','w+')#打开文件,如果没有该文件则新建文件 f.write(data)#写入文件 f.close()#关闭文件file1 = open('/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/telemetry/...
  • Python IOErro错误主要是指要打开文件不存在的错误提示,引起IOError错误的可能原因有很多,以下是最可能的原因! 1. 文件确实不存在 当错误的输入了一个不存在的文件名,并试图打开它的时候,程序会因为找不到...
  • Mac版Python打开文件的路径问题

    千次阅读 2018-07-05 22:23:00
    mac不存在地址栏,有时候你去获取文件路径粘贴过来打开会报错 File b'***.csv' does not exist 而你不想每次要去找数据文件路径,最简单的办法是先获取你在编辑的Ipython notebook的路径,然后把数据文件放在该...
  • [b]python代码:[/b] [code="java"] import os file = open("cc.txt") for line in file: os.system(line) [/code] [b]ruby代码:[/b] [code="java"] file = ...
  • Python打开文件的模式

    万次阅读 2009-08-07 12:59:00
    r 䣧以只读模式打开文件w 以只写模式打开文件,且先把文件内容清空(truncate the file first)a 以添加模式打开文件,写文件的时候总是写到文件末尾,用seek也无用。打开的文件也是不能读的r+ 以读写方式打开...
  • Python打开文件对话框(Mac&&Win通用)

    千次阅读 2019-07-23 00:25:04
    原文出处:http://interactivepython.org/runestone/static/thinkcspy/GUIandEventDrivenProgramming/02_standard_dialog_boxes.html#file-chooser ...# 设置文件对话框会显示的文件类型 my_file...
  • python保存numpy数据: [python] view plain copy numpy.savetxt("result.txt", numpy_data);  保存list数据: [python] view plain copy file=open...
  • 报错为这个:invalid mode ('w+b') or filename: 或者类似的,一般代码没问题的,大多数原因是因为你要打开或者写入的那个文件你没有关闭,保持打开状态的文件是没权限写入的。...
  • 使用python 打开文件并做匹配处理

    千次阅读 2017-07-03 11:50:15
    import os import re import string file = open("data2.txt") p1 = re.compile(r"^(\d{16})\s+(\d{3})") re.compile(p1) for line in file: print(line) match1 = re.search(p1,line) #
  • python打开文件,路径存在'\t'被转义

    千次阅读 2019-12-16 14:52:32
    文章目录路径被转义 路径被转义 srcFile='E:\company\BMCC\日常报告\APT\top20\top20正式版\12月\告警IP列表Top20-1212.xlsx' dstFile='E:\company\BMCC\日常报告\APT\top20\top20正式版\12...C:\Python37\python....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,903
精华内容 13,961
关键字:

python打开文件

python 订阅